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

Improve Convex Hull performance by avoiding duplicate uniquing #985

Merged
merged 5 commits into from
Jun 21, 2023

Conversation

dr-jts
Copy link
Contributor

@dr-jts dr-jts commented Jun 21, 2023

Improves Convex Hull performance by:

  • optimizing the check for obviously degenerate inputs (those with 2 or fewer unique points)
  • ensuring that scanning to extract all unique points is done only once (either via the Inner Octolateral Point Reduction heuristic, or for small inputs via a uniquing scan)

These changes can make computing the Convex Hull of large inputs more than 2x faster.

@dr-jts dr-jts self-assigned this Jun 21, 2023
@dr-jts dr-jts merged commit 94f791e into locationtech:master Jun 21, 2023
@dr-jts dr-jts deleted the improve-convex-hull branch June 21, 2023 05:18
pramsey added a commit to libgeos/geos that referenced this pull request Jun 29, 2023
Port of locationtech/jts#985
Added a short-circuit facility to CoordinateFilter (isDone)
to avoid rebuilding unique coordinate facility.
@jodygarnett jodygarnett added this to the 1.20.0 milestone Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants