Skip to content
 

GEOS 3.8 Benchmarks


newly minted PostGIS 3 / PostgreSQL 12 / GEOS 3.8 combo

PostgreSQL 12.0 (Ubuntu 12.0-2.pgdg18.04+1) on x86_64-pc-linux-gnu
  Ubuntu linux 4.15 x86_64    i7-2600 CPU @ 3.40GHz
  shared_buffers = 4096MB     work_mem=128MB
  
PostGIS 3.0.0 r17983;   Proj 4.9.3
database  geom  2D POLYGON  valid,simple,4326   3.1million rows
 * all times in milliseconds, lower is better

--  GEOS 3.7.1  postgresql-12-postgis-3_3.0.0+dfsg-2~exp1.pgdg18.04+1_amd64.deb
ST_IsValid(geom)         22023   21968   21976   21952
ST_PointOnSurface(geom)        53880   53668   53918
ST_Centroid(geom)        4610    4383   4384
ST_Buffer( geom,0.001)      98284   98111
ST_Union( geom, ST_Buffer(geom,0.001))      151677   151452

--  GEOS 3.8.1 r93be2e1d;  RelWithDebInfo
ST_IsValid(geom)         13761   13698   13734   13672
ST_PointOnSurface(geom)        4010   3929  3943
ST_Centroid(geom)        4106    4015   4018
ST_Buffer( geom,0.001)      68152   68387
ST_Union( geom, ST_Buffer(geom,0.001))      109546   109829

note: the graphic here shows only relative time between two runs
of the same operators, not absolute time between operators..

Compared to PostgreSQL 10 / PostGIS 2.4 / GEOS 3.6.2 only two years ago;
big evolution forward on several fronts.