On 17.12.2013 22:06, Bill Deegan wrote:
Dirk,

If the memory patch uses __slots, then won't that likely break some user logic? If so then we should push out 2.3.1 without it with a notice in the release notes indicating what such change may break?


I've now created pull request #97, containing the patch for reducing memory. In a test project with 8000 C files it boils down the 516.8/534.5 MBytes (clean build/update) to 434.9/452.2 MBytes. So we save about 16%...without using slots and no changes to the already existing interfaces.

Please do a review and judge whether the commit is good enough to go...and don't hesitate to reject it, if your tummy tells you to do so. ;)

For the next version after the current one, I already have prepared another patch on top. It would switch the Node classes and their build infos to using slots. This could get us down to about 300MB in total (-40%), if it's okay for you that we'd lose some flexibility in the framework. Like for the current pull request (#97), trying to squeeze out the last bits introduces more and more side-effects for us developers. Variables, like lists and dicts, may not always be present or need special handling in derived classes...

So, if you'd like to introduce slots to the core sources, I suggest to warn the users in 2.3.1 about the upcoming changes. After the 2.3.1 release we could apply the "slots" patch immediately, which would give us enough time to test it, while working towards a 2.4 version...

Regards,

Dirk

_______________________________________________
Scons-dev mailing list
[email protected]
http://two.pairlist.net/mailman/listinfo/scons-dev

Reply via email to