Hi, > 1) For my deployment of FastCGI mapserver (master or 7.4.x build) and based > on my monitoring, CPU usage is about double vs my previous setup of > mapserver 7.3.x and Proj 5.2.0. My comment here is lame I know as I have > yet to produce a test case showing that actual difference. All the other > support libraries that went into the new build are updated too, so it is > unfair to perhaps blame proj here :) I had lots of previous fun[1] with a > newer proj and postgis when an old sqlite3 library is at play, but I'm > using the most recent version of that here.
There's certainly a performance hit with PROJ >= 6. How much it is depends on a lot of things. I'm not sure there are so many low hanging fruits remaining, but precise reproducer to investigate could be useful. Normally in FastCGI, the initial overhead should be amortized in following requests reusing the same process. However with branch 7.4 you will use PROJ.4 API of PROJ 6, so a x2 performance hit is not expected in that situation. It should exhibit performance similar to PROJ 5. > 2) I could not get master branch to build with proj 6.3, I get the error: > > [ 0%] Building C object CMakeFiles/mapserver.dir/fontcache.c.o > In file included from /home/akrherz/projects/mapserver/mapproject.h:46, > from /home/akrherz/projects/mapserver/mapshape.h:35, > from /home/akrherz/projects/mapserver/mapserver.h:126, > from /home/akrherz/projects/mapserver/fontcache.c:30: > /opt/miniconda3/envs/prod/include/proj_api.h:37:2: error: #error 'To use the > proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H' > #error 'To use the proj_api.h you must define the macro > ACCEPT_USE_OF_DEPRECATED_PROJ_API_H' That's not expected. Is there a /opt/miniconda3/envs/prod/include/proj.h file as there should normally be one for PROJ >= 6 ? > 3) I've been seeing lots of segfaulting and coredumps You should make sure that all MapServer direct or indirect dependencies use the same PROJ version. (or you can use the -DPROJ_RENAME_SYMBOLS trick as in https://github.com/mapserver/mapserver/blob/master/ci/travis/script.sh#L16 and https://github.com/mapserver/mapserver/blob/master/ci/travis/script.sh#L30) That said... > 4) It appears like Travis CI testing is all against proj 6.1.1, maybe I > should revert to that? :) I've just tested with PROJ 6.3.0 and I indeed see number of crashes/wrong results when running msautotest. Those disappear when using the HEAD of the 6.3 git branch. I've raised the opportunity to issue a PROJ 6.3.1 release in https://lists.osgeo.org/pipermail/proj/2020-February/009339.html Even -- Spatialys - Geospatial professional services http://www.spatialys.com _______________________________________________ mapserver-users mailing list mapserver-users@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/mapserver-users