[Scons-users] Performance of version 2.5.0 vs 2.3.0 on Windows host dropped significantly
hmnews at proconx.com
hmnews at proconx.com
Sun Aug 7 21:23:31 EDT 2016
Hi all,
We just updated to Scons 2.5.0 after using happily 2.3.0 for years.
Sadly we found performance to have dropped significantly and I wonder
what the contributing factor could be.
Platform: Windows 10
Python: 2.7.12 64-bit
Calling scons 2.3.0 on our benchmark project with 161 build targets
takes 2.4s to figure out that project is in compiled state and nothing
needs to be build. This is a reasonable time for the size of the project.
benchmark> scons-2.3.0 --debug=time
-------------------------------------------------------------------------------
Memory: Program 91580 bytes (8.7%) Data 43256 bytes (33.0%)
Command execution time: build\stm32f4disco\firmware.size: 0.015000 seconds
scons: `build\stm32f4disco\firmware.hex' is up to date.
Total build time: 2.360000 seconds
Total SConscript file execution time: 0.547000 seconds
Total SCons execution time: 1.798000 seconds
Total command execution time: 0.015000 seconds
However with 2.5.0 execution time blows out to 11.8s, more than 4 times
longer!!!
benchmark> scons-2.5.0 --debug=time
-------------------------------------------------------------------------------
Memory: Program 91580 bytes (8.7%) Data 43256 bytes (33.0%)
Command execution time: build\stm32f4disco\firmware.size: 0.032000 seconds
scons: `build\stm32f4disco\firmware.hex' is up to date.
Total build time: 11.798000 seconds
Total SConscript file execution time: 1.468000 seconds
Total SCons execution time: 10.298000 seconds
Total command execution time: 0.032000 seconds
I appears that Scons takes much longer in 2.5.0 to analyse the build
targets. This is also apparent when running scons-2.5.0 --debug=prepare
which takes noticeable longer to to print the file list.
I also compared the dependency tree for both version using --debug=tree
and they are identical.
Has anybody experienced a similar behaviour and is there any tuning
parameter to make 2.5.0 offer the same performance of 2.3.0?
Is there any debug option to analyse why Scons 2.5.0 takes such a long
execution time?
Thanks
Henrik
More information about the Scons-users
mailing list