|
Boost-Build : |
From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-07-04 09:16:01
I just fixed a major one, which cut the memory use for my test case by more
than 50%, from 65M to 25M!
I'm a little baffled by this one, though it's small:
==30721== 60 bytes in 5 blocks are possibly lost in loss record 2 of 25
==30721== at 0x40043BDB: malloc (vg_clientfuncs.c:100)
==30721== by 0x804E02A: addsettings (rules.c:235)
==30721== by 0x8049EDA: compile_local (compile.c:461)
==30721== by 0x804DDBC: parse_evaluate (parse.c:138)
==30721== by 0x8049F19: compile_local (compile.c:470)
==30721== by 0x804DDBC: parse_evaluate (parse.c:138)
==30721== by 0x8049F19: compile_local (compile.c:470)
==30721==
After all, freesettings() is getting called in compile_local, and
donerules() does clean up the settings_freelist. Can anyone explain this?
-Dave
+---------------------------------------------------------------+
David Abrahams
C++ Booster (http://www.boost.org) O__ ==
Pythonista (http://www.python.org) c/ /'_ ==
resume: http://users.rcn.com/abrahams/resume.html (*) \(*) ==
email: david.abrahams_at_[hidden]
+---------------------------------------------------------------+
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk