[postgis-tickets] [PostGIS] #4890: ST_Transform large slow down from upgrade to 3.1.1 from 2.4
PostGIS
trac at osgeo.org
Tue May 18 18:54:06 PDT 2021
#4890: ST_Transform large slow down from upgrade to 3.1.1 from 2.4
-------------------------+---------------------------
Reporter: SAbernethy | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.1.2
Component: postgis | Version: 3.1.x
Resolution: | Keywords:
-------------------------+---------------------------
Comment (by robe):
I've redone the test trying to break out better the tests that can take
advantage of cache verses not.
Here are the benmarks I have from our various bots.
General summary - Proj >= 6 startup time is just much worse than lower
versions.
PostGIS 3.1 has not been patched yet. PostGIS 3.2 is after pramsey's
patch.
regress_proj_4890 - It's clear from below that the patch improves
significantly the speed of Daniel Boone's test listed above because of the
improved proj caching for proj >= 6 and no noticeable impact on proj < 6.
regress_proj_basic - This is a test of custom proj added and standard proj
and reuse of these projs. Again improvement about 2 fold (it's a bit
better because about 72ms of that time is proj startup costs when you flip
projections). Again only impact for proj >= 6 and no impact for lower
proj.
regress_proj_adhoc - has input string proj4 and retransforms. Again a bit
better with the patch, no impact for lower proj
regress_proj_cache_overflow - is cycling thru 12 or so projections -- so
the slow upstart of newer proj api really shows here. The patch improves
the case slightly but not by much. The only concern I have is that (and I
checked a couple of runs), for the proj 6.1 case, the patch version does
show a slight degradation. Given 6.1.1 isn't even the latest proj micro,
I'm not that concerned even if there is degradation. All other proj > 6
seem to have improved slightly.
{{{
PostgreSQL 13.1 on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.0-16)
10.2.0, 64-bit
Postgis 3.1.2dev - (e1856ea) - 2021-05-19 00:44:06
scripts 3.1.2dev e1856ea
raster scripts 3.1.2dev e1856ea
GEOS: 3.8.2dev-CAPI-1.13.3
PROJ: 7.1.1
SFCGAL: 1.3.9
GDAL: GDAL 3.1.4, released 2020/10/20
./regress/core/regress_proj_basic .. ok in 100 ms
./regress/core/regress_proj_adhoc .. ok in 402 ms
./regress/core/regress_proj_cache_overflow .. ok in 1353 ms
./regress/core/regress_proj_4890 .. ok in 506 ms
PostgreSQL 13.2 on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6)
10.2.1 20210110, 64-bit
Postgis 3.2.0dev - (fa69ef0) - 2021-05-19 00:32:19
scripts 3.2.0dev fa69ef0
raster scripts 3.2.0dev fa69ef0
GEOS: 3.9.2dev-CAPI-1.14.2
PROJ: 7.1.1
SFCGAL: 1.3.9
GDAL: GDAL 3.1.4, released 2020/10/20
./regress/core/regress_proj_basic .. ok in 44 ms
./regress/core/regress_proj_adhoc .. ok in 355 ms
./regress/core/regress_proj_cache_overflow .. ok in 1162 ms
./regress/core/regress_proj_4890 .. ok in 52 ms
PostgreSQL 11.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian
10.2.1-3) 10.2.1 20201224, 64-bit
Postgis 3.1.2dev - (e1856ea) - 2021-05-19 00:43:59
scripts 3.1.2dev e1856ea
raster scripts 3.1.2dev e1856ea
GEOS: 3.7.4dev-CAPI-1.11.4 2926110
PROJ: Rel. 5.2.0, September 15th, 2018
SFCGAL: 1.3.9
GDAL: GDAL 2.4.4, released 2020/01/08
./regress/core/regress_proj_basic .. ok in 17 ms
./regress/core/regress_proj_adhoc .. ok in 19 ms
./regress/core/regress_proj_cache_overflow .. ok in 39 ms
./regress/core/regress_proj_4890 .. ok in 28 ms
PostgreSQL 10.15 on x86_64-pc-linux-gnu, compiled by gcc (Debian
10.2.1-3) 10.2.1 20201224, 64-bit
Postgis 3.1.2dev - (e1856ea) - 2021-05-19 00:43:56
scripts 3.1.2dev e1856ea
raster scripts 3.1.2dev e1856ea
GEOS: 3.6.6dev-CAPI-1.10.6 4fe5ee7
PROJ: Rel. 4.9.0, 13 September 2014
SFCGAL: 1.3.9
GDAL: GDAL 2.3.3, released 2018/12/14
./regress/core/regress_proj_basic .. ok in 16 ms
./regress/core/regress_proj_adhoc .. ok in 14 ms
./regress/core/regress_proj_cache_overflow .. ok in 39 ms
./regress/core/regress_proj_4890 .. ok in 24 ms
PostgreSQL 11.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian
10.2.1-3) 10.2.1 20201224, 64-bit
Postgis 3.2.0dev - (fa69ef0) - 2021-05-19 00:32:13
scripts 3.2.0dev fa69ef0
raster scripts 3.2.0dev fa69ef0
GEOS: 3.7.4dev-CAPI-1.11.4 2926110
PROJ: Rel. 5.2.0, September 15th, 2018
SFCGAL: 1.3.9
GDAL: GDAL 2.4.4, released 2020/01/08
./regress/core/regress_proj_basic .. ok in 14 ms
./regress/core/regress_proj_adhoc .. ok in 14 ms
./regress/core/regress_proj_cache_overflow .. ok in 28 ms
./regress/core/regress_proj_4890 .. ok in 17 ms
PostgreSQL 12.5 on x86_64-pc-linux-gnu, compiled by gcc (Debian
10.2.0-16) 10.2.0, 64-bit
Postgis 3.1.2dev - (e1856ea) - 2021-05-19 00:43:59
scripts 3.1.2dev e1856ea
raster scripts 3.1.2dev e1856ea
GEOS: 3.7.3dev-CAPI-1.11.3 4ae53b7
PROJ: 6.1.1
SFCGAL: 1.3.9
GDAL: GDAL 3.0.4, released 2020/01/28
./regress/core/regress_proj_basic .. ok in 79 ms
./regress/core/regress_proj_adhoc .. ok in 157 ms
./regress/core/regress_proj_cache_overflow .. ok in 2641 ms
./regress/core/regress_proj_4890 .. ok in 362 ms
PostgreSQL 12.5 on x86_64-pc-linux-gnu, compiled by gcc (Debian
10.2.0-16) 10.2.0, 64-bit
Postgis 3.2.0dev - (fa69ef0) - 2021-05-19 00:32:30
scripts 3.2.0dev fa69ef0
raster scripts 3.2.0dev fa69ef0
GEOS: 3.7.3dev-CAPI-1.11.3 4ae53b7
PROJ: 6.1.1
SFCGAL: 1.3.9
GDAL: GDAL 3.0.4, released 2020/01/28
./regress/core/regress_proj_basic .. ok in 35 ms
./regress/core/regress_proj_adhoc .. ok in 153 ms
./regress/core/regress_proj_cache_overflow .. ok in 3055 ms
./regress/core/regress_proj_4890 .. ok in 45 ms
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4890#comment:17>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list