java - Scons Build performance for C++ in large code base -


we have been working on our project scons build system few years. scons awesome , has improved our development process lot. there ~15000 c++ source files , project evolves source files in other languages(java/scala) added code base well. developed our own builders manage dependencies , invoke external tool(javac, scalac) build sources, works well. working on optimization of current build system , found performance difference between c++ , java build process:

environment setup: build server 24 cores, python 2.7.3, scons 2.2.0
command: scons --duplicate=soft-copy -j8

when building java code, cpu usage high observed top , spanning multiple cores: java build

however, when building c++ code, cpu usage ~4% , running on 1 core no matter how many jobs in scons: c++ build

i've been googling lot on internet not find useful. hitting gil issue in python? believe each gcc/g++ command should ran in separate sub-process javac in our own builders, there should not gil here. there workaround utilize multiple cores speeding c++ build further? in advance.

as windleewt explained in 1 of comments, cause observed behaviour ccache installed , configured on server in question. seems of cpu usage during c++ build took compilation stage, avoided due ccache. that's why no cpu usage several cores seen within top.

as launched "build scratch" on server without ccache, several cores running @ 90% 'cc1plus -o ...' expected.

no performance penalties (gil etc.) involved, , neither python nor scons degraded performance in significant way.


Comments

Popular posts from this blog

php - How to add and update images or image url in Volusion using Volusion API -

javascript - jQuery UI Splitter/Resizable for unlimited amount of columns -

javascript - IE9 error '$'is not defined -