-
Notifications
You must be signed in to change notification settings - Fork 586
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add par_enumerate_rows(_mut)
to ImageBuffer
and friends
#2113
Comments
If this were implemented with the types in this crate I would map each row to an |
So I guess the weird thing here is that you want to iterate over the rows of the image in parallel, and then for each row iterate over the pixels sequentially. We already have support if you want to do both sequentially ( I guess I don't see an issue with adding a |
I think I personally would prefer that API as it would allow, as you say, the user to call either I think changing the sequential versions of the row iterators would be a breaking change though right? |
It would even let you call |
I think it is a good idea to have them be consistent, since then you can just add a |
I would love this right now! The specific use case I have for it is maintaining per-core cache coherency and allowing SIMD to be used more easily. |
Thanks for all the work that goes into this crate!
I would like to be able to iterate over the rows of an image (ideally mutably).
I need all pixels to one side of the y-axis to be finished rendering before I can render the others. A parallel iterator that returns references to the rows would be very helpful here as that would give me control of which parts of the row I render first.
This is more generally applicable to anyone that wants to speed up the normal
enumerate_rows(_mut)
by using more cores.Draft
Right now I'm using an
ImageBuffer
and emulate this withI realize that this has the additional property that the pixels of the rows iterated in order, which you may or may not wish to guarantee. Even without that I still think it might be worth it to add parallel versions of the normal
enumerate_rows(_mut)
just for the optional speed increase.The text was updated successfully, but these errors were encountered: