open-rmf / mapf

Multi-agent (path finding) planning framework
Apache License 2.0
53 stars 5 forks source link

perf: avoid square root computation when possible #19

Closed winstxnhdw closed 5 months ago

winstxnhdw commented 5 months ago

Summary

This PR reduces the number of redundant square root operations. I have not measured but some of these operations are located within seemingly hot loops.

winstxnhdw commented 5 months ago

Off-topic:

I'd like to start contributing to mapf and rmf-site but before that, I have some questions on the design decisions. Is there a platform where I can reach out to the maintainers about this? Just so that I can more meaningfully contribute?

arjo129 commented 5 months ago

@mxgrey is the right person to talk to. A lot if the rust code is experimental, so there is a high chance that rework may be needed.

mxgrey commented 5 months ago

the rust code is experimental

I think conceptually I'm pretty happy with how the library has turned out, so I don't expect many breaking changes at this point, except maybe to eliminate dependencies on Nightly release features which never seem to be making it to Stable.

The main issue right now (at least in my mind) is that defining a custom domain requires an enormous amount of boilerplate, but I think the best way to solve that is to provide procedural macros so that users can just define a struct and tag it with attributes to describe how the domain should behave.

But now I'm getting very off topic. Thanks for the PR!