5 Compiler Notes
Dane Springmeyer edited this page 2015-04-27 00:24:44 +02:00

Random notes on compiler results in terms of runtime speed and library size

Mapnik 2.1.x branch with clang++ 3.3 (trunk 177655) on OS X 10.7

  • -Os: libmapnik.dylib is 16.2 MB and tests run in 3.9s
  • -O2: libmapnik.dylib is 12.8 MB and tests run in 3.7s
  • -O3: libmapnik.dylib is 12.5 MB and tests run in 3.7s

Mapnik 3.x

OS X duel core: 2.8 GHz Intel Core i7

At 66ad95cbbe

$ clang++ -v
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix
$ source bootstrap.sh && time make
real	16m31.347s
user	29m1.430s
sys	1m7.557s

rebuilding with ccache v3.2.1 (first run):

$ ./configure CXX="/Users/dane/.homebrew/bin/ccache clang++"
$ time make
real	11m3.394s
user	28m36.684s
sys	1m36.502s

Second run:

make clean
time make
real	0m41.734s
user	0m41.007s
sys	0m15.724s