Closed lmiq closed 4 months ago
Attention: Patch coverage is 94.33962%
with 3 lines
in your changes missing coverage. Please review.
Project coverage is 91.16%. Comparing base (
959f9db
) to head (3d2dedb
).
Files | Patch % | Lines |
---|---|---|
src/ChunkSplitters.jl | 94.33% | 3 Missing :warning: |
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@carstenbauer and @MasonProtter
This may affect the performance (for better, I hope) of OhMyThreads.jl, so I would prefer you both to take a look at it before merging.
Thanks.
I've now ran all the examples of OhMyThreads
and did not find any meaningful performance difference with this PR.
Also ran the OhMyThreads
tests, an all pass.
Thanks for the work @lmiq, I'm not one of the mantainers but to me the change seems good :+1:
I'll just wait for the input of one of Carlsten or Mason, because they are maintaing OhMyThreads and probably it is through it that this package is being used the most. I don't want to introduce problems there.
I've skimmed the changes and they seem fine to me.
This PR tries to solve the performance problem associated with returning a StepRange from the
:batch
splitting option.See: https://github.com/JuliaFolds2/ChunkSplitters.jl/issues/35
What I do here is make the split type,
:batch
or:scatter
a type-parameter in all except the top-level calls ofchunks
andgetchunk
. And with that return different types of ranges for:batch
or:scatter
, because having aUnitRange
is important for the performance if the computation is performed on views and are very tight.Seems to me that this is at the end an overall improvement.