Open calderpg-tri opened 5 days ago
I don't have a lot of free time these days. Maybe the users who are interested in this feature would like to feature-review it?
This PR still needs a feature reviewer assigned.
@jwnimmer-tri I'm happy to feature-review this if that's alright with you
Thank you!
Thanks!
From discussion with @tomstewart-woven and @aochiai,
CollisionChecker
's parallel edge checks can be improved by using the range-based parallel-for loops rather than the naive index-based versions. Using the range-based loops means less work is performed once a colliding configuration is found, since it allows the entire rest of a thread's range to be skipped.Also contains two other revisions:
MeasureEdgeCollisionFreeParallel
now uses an implementation of the behavior ofstd::atomic<T>::fetch_min
instead of separatestd:atomic<double>
+std::mutex
.CheckEdgeCollisionFreeParallel
now special-cases theq1
check so that it is performed before parallel dispatch.+@jwnimmer-tri for review, thanks!
This change is![Reviewable](https://reviewable.io/review_button.svg)