[Scons-dev] scons-2.5.0 performance issue?

Thomas Berg merlin66b at gmail.com
Mon Apr 11 07:14:38 EDT 2016


Hi all,

First of all, thanks for the 2.5.0 release!

I have tested it in the build at my dayjob now, where we have a large
C++ application built with scons: around 7-8000 .cpp files, same
amount of headers, some code generation steps including Qt moc-ing.
Unfortunately it seems that something has happened in scons-2.5.0 that
slows down the no-op build quite significantly. This is the output of
scons --debug=time in an almost-no-op build of our source tree:

========================================================
= 2.5.0
========================================================

Total build time: 933.582000 seconds
Total SConscript file execution time: 55.395000 seconds
Total SCons execution time: 858.109000 seconds
Total command execution time: 20.078000 seconds

========================================================
= 2.4.1
========================================================

Total build time: 337.473000 seconds
Total SConscript file execution time: 62.303000 seconds
Total SCons execution time: 256.638000 seconds
Total command execution time: 18.532000 seconds

========================================================
= 2.3.4
========================================================

Total build time: 331.774000 seconds
Total SConscript file execution time: 61.290000 seconds
Total SCons execution time: 249.606000 seconds
Total command execution time: 20.878000 seconds

------------------------------------------------------------
This is with python-2.7.9 64bit on Windows 7.

So it seems that the scons execution time has increased by a factor of
3 in our build, between scons-2.4.1 and 2.5.0 :(

For us the 5.5 minute no-op build time has already been an issue, so
the new 15 minute no-op build is bad news. If you have just changed a
single file, and need to build from the top to check that everything
is up to date, 15 minutes is a very long time... I'm seeing similar
slowdowns for our partial builds where we only execute some of our
SConscripts (build time going from 16 to 25 seconds for example).

1. Is anyone else seeing this?
2. Any idea what changes that could cause something like this? I could
try bisecting or reverting some changes to narrow it down
3. Is there anything else I can do, like posting the output of profiling?

I also have some other smaller hobby C++ projects that I could profile.

Thanks for any hints,
Thomas Berg


More information about the Scons-dev mailing list