Sprint Day #3

It was “it all comes together” day today at the Toronto Code Sprint.

On the PostGIS front, the open bug list for our 1.4 pre-release shrunk down to the vanishing point. I closed off one [1], Mark Cave-Ayland closed off two [2, 3] and Olivier Courtin closed off one [4] and started on GML support for CURVE types. We should be able to kick out a testing version of 1.4 tomorrow no problem.

On the Mapserver front, our goal of getting faster and faster and making Andrea Aime eat his liver is well in sight. Frank Warmerdam skipped our foray to the Best Beer Palace in Toronto last night, went home instead, and added a memory cache to Proj4, which I tested this morning. The cache has removed the EPSG code look-up overhead from Mapserver, which was far-and-away the largest performance overhead in all modes.

Also today, Julien-Samuel Lacroix from MapGears completed his changes to Mapserver shape file access, which knocked a further 20% off the response time for the case of rendering from large shape files. We also identified a performance hit in outlined label drawing in GD, that he had a patch for several years ago, but unfortunately it requires patching GD also, so it might take a while to work down into general Mapserver usage.

Through profiling of image access in GDAL/Mapserver, Frank has been galvanized to re-work image access in Mapserver to no longer pull data from images one band at a time. For formats like MrSID and ECW, this alone should improve performance by a factor of three.

Meanwhile, Steve Lime has finalized his plans to make querying performance in Mapserver work faster, and written an RFC on his approach. I hope to alter the PostGIS driver to support the “new way of being” tomorrow.

Finally, I profiled hex-vs-base64 encoding options in the Mapserver PostGIS driver and decided on using hex, based on much faster performance. That change was committed today as well. All in all a good day for the “need for speed” Code Sprint.

After a long day of coding (I had to break up an intense discussion of handing Open Web Services configuration in Mapserver to get people to head to dinner) we headed out for our final group meal at Jack Astor’s on Front Street, where a good time was had by all. Tomorrow will be less intense as folks head off for flights at varying parts of the mid-day. I head home late in the evening, chasing the sun back to Victoria on the sole daily non-stop YYZ->YYJ flight.

Thanks to OSGIS.NL and LizardTech for supporting today’s activities.