-
Notifications
You must be signed in to change notification settings - Fork 30
Description
In the lead up to the initial release, we discovered some performance issues with the geo crate ( https://github.com/georust/geo/ ) that we needed to iterate on in conjunction with not-yet-public code at the time. The fork at https://github.com/wherobots/geo/tree/generic-alg defines some extra traits and implements some algorithms using geo-traits instead of using concrete geo_types (which unlocked the performance we needed by operating directly on the serialized Wkb representation).
I am not sure the exact path towards removing this fork because I don't have a strong handle on exactly which optimizations that we implemented ended up being important in our final kernel implementations, or whether it will be easier or faster to just operate on a concrete type. If I'm remembering correctly, these were important optimizations for distance, dwithin, length, perimeter, and (2d) centroid, but we ended up using tg for predicates because the performance of geo's prepared geometry was much slower.