Zapcc 1.0.1
Hi folks,
following the test I did last year about zapcc, a very fast C++ compiler with a very effective in memory cache which gives benefits to large C++ code bases, there is a new released version 1.0.1 available here. Since the beta version the zapcc's server which holds the caching feature seems more stable/reliable.
This version is based now on clang 5.0.0 which is in fact a specific version of the related subversion trunk version I believe since only the 4.x serie is released.
First little "glitch", since the last test, I moved on from Linux mint to Arch Linux recently, the ncurses version shipped with does not have libtinfo shared library which zapcc/clang needs ... I do not know if it is a strong requirement of Zapcc or maybe LLVM could be compiled without terminfo support as a fix.
Apart of this little detail, zapcc delivers all its promises ! Like last time I made a test with one of my preferred C++ open source softwares, LMMS. This time I configured zapcc a bit differently. Since I run the test inside a virtualized ubuntu's environment, I set the memory per process according to the RAM limits I put and since I ll use two parallel jobs at best ...
This time also I will not cache auto generated headers and c++ files of LMMS and its plugins
Now, it is time to test against vanilla clang with two jobs. This is the general compilation time I get
And with zapcc
Since there is already a noticeable difference in this reasonable sized project, you can be insured in larger C++ code base, which is very common in C++ world, the delta is even beyond where you can see more than 3 times the speed. In my case I may have gotten a bigger difference if the cache memory limit was significantly bigger but it is actually fair enough as it is. Bear in mind though that zapcc is beneficial to C++ projects despite zapcc existence, for C code the usual ccache's solution is generally sufficient.
Hopefully, the mac OS and the Windows versions will be released in a reasonable near future.
Labels: clang, zapcc, zapcc 1.0.1