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

Consider simplifying shapes in parallel #3

Closed
jerluc opened this issue Jan 15, 2019 · 0 comments
Closed

Consider simplifying shapes in parallel #3

jerluc opened this issue Jan 15, 2019 · 0 comments
Labels
perf Performance-related wontfix This will not be worked on
Milestone

Comments

@jerluc
Copy link
Member

jerluc commented Jan 15, 2019

Currently, after the ElasticSearch documents are deserialized as orb.Geometry's, the features all get compiled into a single layer and bulk simplified. This makes life easier, however, the layer/feature collection bulk simplification process runs serially, which may have some effects on performance.

We should consider instead using the DouglasPeuckerSimplifier.Simplify(orb.Geometry) function to allow us to simplify each geometry potentially in parallel, by using a pool of goroutines.

@jerluc jerluc added the perf Performance-related label Jan 15, 2019
@jerluc jerluc added this to the v1.0.0 milestone Jun 18, 2019
jerluc added a commit that referenced this issue Jun 18, 2019
In running performance tests, I've found that contrary to the suggestions made in #3,
the better solution in most cases is to not do shape simplification at all, which
reduces CPU loads at the cost of network payload size (since the result is technically
higher-fidelity vector geometries). That said, this has the practical advantage of
reducing latency on higher-bandwidth network connections, by relying more heavily on
network optimizations (caching, compression, etc.).
jerluc added a commit that referenced this issue Jun 18, 2019
In running performance tests, I've found that contrary to the suggestions made in #3,
the better solution in most cases is to not do shape simplification at all, which
reduces CPU loads at the cost of network payload size (since the result is technically
higher-fidelity vector geometries). That said, this has the practical advantage of
reducing latency on higher-bandwidth network connections, by relying more heavily on
network optimizations (caching, compression, etc.).
@jerluc jerluc added the wontfix This will not be worked on label Jun 18, 2019
@jerluc jerluc closed this as completed Jun 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
perf Performance-related wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

1 participant