[Scons-dev] scons daemon
Schleimer, Ben
bensch128 at yahoo.com
Mon Dec 28 18:49:48 EST 2015
Hi Dirk,
>for which targets exactly would you build the list of source files? All of them? Regard, that "." is not always the default
>target...so you'd have to parse the SConstructs/SConscripts first anyway.
>In it's current form, the Taskmaster never builds the full DAG beforehand (a common misconception among people that suggest a
>seemingly simple performance "hack", like yours ;) ), but simply expands the list of given Targets until all build prerequisites are
>met. This allows you to shorten compile/update times in large builds by specifying a single library/program on the command-line
>only. How would your daemon handle this?
I am taking Bill Deegan's advice and starting by modifying Iteractive.py. I think that the standard behavior is great, I just want to tweak it a bit to avoid the heaviest scons-induced overhead of the code-run-debug cycle, the building of the DAG.
My project has 5 SConscript files and 2 SConstruct files and just by using:
$ scons.py -j4 --interactive
scons: Reading SConscript files ...
Building Debug-x86-none/libholo.so in Debug configuration
Building Debug-x86-none/HoloProcess in Debug configuration
scons: done reading SConscript files.
scons>>> build
it drops the incremental build time by 0.2 secs.
I'm very curious about what kind of time savings occur on much larger projects. I submitted a pull request on bitbucket to automate the build inside interactive mode:
https://bitbucket.org/scons/scons/pull-requests/287/added-usr1-signal-handling-to-interactive/diff
Next, inside interactive mode, I'm planning on pulling all of the Nodes and watching them and then trying to do background compiles whenever a file is changed.
Sincerely
Ben
More information about the Scons-dev
mailing list