Osm2pgsql 0.87.4 has been released. This development release is focused on improving the node cache and pending way status storage.
Lockfree Queue removal
The boost::lockfree::queue
implementation of the pending way queue has been removed, leaving the std::stack
based implementation which used to be available with the --without-lockfree
configuration flag. The stack implementation was found to use substantially less RAM. This should allow the --cache
value to be increased and drastically speed up import speeds, particularly with full planet imports and machines with 16-32GB of RAM and mechanical hard drives.
The boost::lockfree::queue
implementation used to require Boost 1.53 or later, and this difference has been removed.
Any package maintainers packaging the 0.87.x series should move to 0.87.4 and remove any usage of --without-lockfree
from their build scripts
Node cache cleanups
Cleanups have been done to the node cache, significantly expanding test coverage, allowing 0,0 as a valid coordinate with the dense cache, and fixing some bugs.
Default style fixes
Some fixes have been made to default.style
. These do not impact anyone using it as-is, but should avoid confusing behavior based on column order if the file is modified.
Oldmerc option
The --oldmerc
option has been removed. This used a legacy projection that no one would normally want, and if someone does want it, they can specify it by SRID
Other cleanups
- style.lua cleanups
- Travis CI improvements. OS X support for Travis is ready, but Travis is not offering new capacity for Mac workers at this time
Upcoming work
One large issue remains that should be addressed before 0.88.0 is release - reimplementing middle_ram_t::relations_using_way. Development help from one of the many organizations using osm2pgsql in production would be welcome.
A full list of commits is at https://github.com/openstreetmap/osm2pgsql/compare/0.87.3…0.87.4
Photo © CC BY 2.0 Seattle Municipal Archives
Discussion
Comment from pnorman on 11 July 2015 at 06:19
Just to note, this message was a couple weeks late in getting up.