Hi,

On 25.12.2015 00:57, Schleimer, Ben via Scons-dev wrote:
Hi,
    I was wondering if anyone else was interested in such a feature.
I found on google that it was discussed before (gmane.org seems to be down 
right now) but that nothing was actually implemented.

The reason to have a build daemon is to keep the dependency tree in memory for 
rebuilds and to try to keep the builds up to date as
quickly as possible. Build systems like gradle and bazel seem to rely on a 
daemon (and VS C# and Eclipse uses background compiles
extensively)

My tentative thoughts about how to design this are as follows:
1) Build a wrapper py script that peers with scons.py to make it a bit simpler 
at first
2) when the daemon starts, it builds the dependency tree and extracts a list of 
all source files. It uses watchdog (or some other
inotify-like library) to watch for changes in all of the source files.

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? To me it looks like a massive amount of communication between your daemon and the SCons core would be required...which probably drags down performance by a high percentage.

Best regards,

Dirk

_______________________________________________
Scons-dev mailing list
[email protected]
https://pairlist2.pair.net/mailman/listinfo/scons-dev

Reply via email to