KissThreading.jl icon indicating copy to clipboard operation
KissThreading.jl copied to clipboard

ThreadingTools.jl

Open jw3126 opened this issue 6 years ago • 6 comments

@mohamed82008 @bkamins I was thinking about how to add some features and address some limitations with KissThreading:

  • Only require associativity with mapreduce
  • Compatibility with exotic array types e.g. OffaxisArrays
  • Add sum, reduce... convenience functions
  • Use Base versions on each thread (e.g. Base.sum is more precise and Base.maximum is faster then a naive fallback to mapreduce)

and realized, that doing so would require more or less a rewrite. Instead of doing a PR, I created ThreadingTools. So what should we do with it? If you like it, I would be happy to merge it into KissThreading. If not I would like to release it.

jw3126 avatar Jun 21 '19 22:06 jw3126

I am ok with merging them :)

mohdibntarek avatar Jun 22 '19 02:06 mohdibntarek

If there are changes that can make KissThreading faster, more general and more convenient to use, I fully support them!

mohdibntarek avatar Jun 22 '19 02:06 mohdibntarek

Okay nice, then the plan is to merge. There are some things that need to be sorted out:

  • I use ThreadingTools.map syntax where here we use tmap. I have a slight preference for the former style, but can live with the latter also. Which one do you want?
  • It would be cool to have commit access to KissThreading. Would that be okay with you?

jw3126 avatar Jun 22 '19 21:06 jw3126

Which one do you want?

We can have both const tmap = KissThreading.map.

It would be cool to have commit access to KissThreading. Would that be okay with you?

Sure!

mohdibntarek avatar Jun 23 '19 07:06 mohdibntarek

Invitation sent.

mohdibntarek avatar Jun 23 '19 07:06 mohdibntarek

Invitation sent.

Thanks!

We can have both const tmap = KissThreading.map.

Mhh yeah that's true. But I think its better to have one way instead of two. We can go with just tmap if you like.

jw3126 avatar Jun 23 '19 21:06 jw3126