samurai 0.7
New features
- The environment variable
SAMUFLAGS
can now be used to specify default-j
or-v
options. $depfile
and$rspfile
are now removed by theclean
subtool.
Bug fixes
- Console was not getting released when a job using the console pool failed.
- Handle
argv = { NULL }
by settingargv0
to "samu" instead of crashing. $depfile
and$rspfile
paths requiring shell quoting are now handled correctly.- The edge
in
andout
arrays were incorrectly allocating space to store the entire node (72 bytes on 64-bit systems) instead of just the pointer (8 bytes), resulting in excess memory usage.
Memory usage
- Fixing the allocation bug of
in
andout
arrays described above resulted in huge memory savings, roughly 35% in a no-op chromium build. - When evaluating
$in
or$out
with path lists of length 1, re-use the existing string instead of making a copy. - Remove edge variable "cache", which didn't seem to help at all in practice.
Acknowledgements
Thanks to Andreas Baumann for implementing the SAMUFLAGS
feature, Paolo Bonzini and orbea for reporting issues, and Earnestly and Eli Schwartz for testing development builds.