Skip to content
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 PreparedGeometry to speed up repeated Relate operations. #1197

Merged
merged 4 commits into from
Jul 26, 2024

Commits on Jul 4, 2024

  1. existing bench

    michaelkirk committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    f64ae17 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. Add PreparedGeometry to speed up repeated Relate operations.

    Much of the cost of the `Relate` operation comes from finding all
    intersections between all segments of the two geometries.
    
    To speed this up, the edges of each geometry are put into an R-Tree.
    
    We also have to "self node" each geometry, meaning we need to split any
    segments at the point that they'd intersect with an edge from the other
    geometry.
    
    None of that work is new to this commit, but what is new is that we now
    cache the self-noding work and the geometry's r-tree.
    
        relate prepared polygons
                                time:   [49.036 ms 49.199 ms 49.373 ms]
        relate unprepared polygons
                                time:   [842.91 ms 844.32 ms 845.82 ms]
    michaelkirk committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    9452543 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Configuration menu
    Copy the full SHA
    9e895d4 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Configuration menu
    Copy the full SHA
    7af23c7 View commit details
    Browse the repository at this point in the history