benchmarkreport

command
v0.47.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2024 License: MIT Imports: 7 Imported by: 0

README

Benchmark Reports

This report shows the performance difference between Simple Feature's native set operations (pure Go) and the corresponding GEOS set operations.

To re-run the reports, use the run.sh script (it generates the markdown tables below).

The source code for the benchmarks below is here. The benchmarks create two regular polygons, each with n sides (where n is the input size in the tables below). The polygons partially overlap with each other. The set operation on the two regular polygons is what is actually timed.

Operation: Intersection

Input Size Simple Features GEOS Ratio
22 39.2µs 46.7µs 0.8
23 48.1µs 54.3µs 0.9
24 65.2µs 59.5µs 1.1
25 113µs 72.1µs 1.6
26 190µs 94.9µs 2.0
27 354µs 144µs 2.5
28 647µs 215µs 3.0
29 1.28ms 385µs 3.3
210 2.47ms 718µs 3.4
211 5.36ms 1.46ms 3.7
212 11.1ms 2.66ms 4.2
213 22.1ms 5.73ms 3.9
214 44.7ms 11.6ms 3.9

Operation: Union

Input Size Simple Features GEOS Ratio
22 40.8µs 49.6µs 0.8
23 50.2µs 55.6µs 0.9
24 72.3µs 67.5µs 1.1
25 122µs 86µs 1.4
26 215µs 127µs 1.7
27 390µs 190µs 2.1
28 729µs 318µs 2.3
29 1.42ms 574µs 2.5
210 2.83ms 1.19ms 2.4
211 5.99ms 2.19ms 2.7
212 12.7ms 4.7ms 2.7
213 25.9ms 9.42ms 2.7
214 55ms 20.3ms 2.7

Operation: Difference

Input Size Simple Features GEOS Ratio
22 40.1µs 48.9µs 0.8
23 48µs 55.6µs 0.9
24 68.7µs 64.8µs 1.1
25 117µs 79.9µs 1.5
26 203µs 116µs 1.7
27 370µs 172µs 2.1
28 691µs 281µs 2.5
29 1.37ms 512µs 2.7
210 2.66ms 1.03ms 2.6
211 5.63ms 1.85ms 3.0
212 12ms 4.02ms 3.0
213 25.1ms 8.09ms 3.1
214 53.2ms 17.2ms 3.1

Operation: SymmetricDifference

Input Size Simple Features GEOS Ratio
22 51.5µs 68.2µs 0.8
23 63.9µs 79.4µs 0.8
24 98.8µs 102µs 1.0
25 161µs 137µs 1.2
26 286µs 210µs 1.4
27 512µs 335µs 1.5
28 1ms 618µs 1.6
29 1.91ms 1.15ms 1.7
210 3.93ms 2.32ms 1.7
211 8.06ms 4.46ms 1.8
212 17.1ms 9.86ms 1.7
213 34.1ms 19.5ms 1.7
214 71ms 38.3ms 1.9

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL