[Scons-users] Unnecessary memoization invalidation
Mathew Robinson
mathew at chasinglogic.io
Mon Dec 9 09:30:10 EST 2019
Hello all,
While doing build system performance work at MongoDB I've found a few
areas where the memoization isn't shared between threads (similar to
the ninfo bug I resolved a few months back) and most importantly that
Node._clear_memoized_values is being called a little too aggressively.
By removing a few call sites of Node._clear_memoized_values I was able
to remove a few thousand extra calls to stat which had perf benefits
for our build. I didn't measure the impact on every memoized value.
Given the sensitivity and difficulty of caching I wanted to reach out
here before sending a PR.
Additionally I noticed that for commands that don't change and in
WhereIs there is no memoization. This causes ~60 - 100 thousand
unnecessary stat calls for our builds. I'd like to memoize WhereIs at a
minimum as well, though that change is unrelated to the above.
Thanks,
- Mathew Robinson @chasinglogic
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20191209/814de734/attachment.html>
More information about the Scons-users
mailing list