Skip to content

rust: Eliminate dependency on forked geo crate #125

@paleolimbot

Description

@paleolimbot

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.

cc @Kontinuation

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions