Open
Description
This is likely related to the memory leak too. We are creating LibGEOS Point
objects for every single point we read in a geometry, but they're incredibly expensive and allocate objects that need to be finalized:
Lines 29 to 50 in 7ad3b3c
Which leads to insane performance like this:
JuliaGeo/GeometryOps.jl#32
74 allocations to get the area of an 11 point geometry.
We also call getPoint
:
LibGEOS.jl/src/geos_functions.jl
Lines 1516 to 1546 in 7ad3b3c
We should replace all of this with just getting two floating point values in the simplest way possible, and getting them all at once for whole LinearRing/LineString in GI.getpoint(linestring)
Metadata
Metadata
Assignees
Labels
No labels