Re: secondary expansion changes
Boris Kolpackov <[email protected]>
| Newsgroups | gmane.comp.gnu.make.devel |
|---|---|
| Organization | Code Synthesis Tools CC |
| Message-ID | <[email protected]> |
Hi Paul, Paul D. Smith <[email protected]> writes: > Wow. 45M of reachable memory and 3G of turnover is a LOT. Whew. Seems > like you have the same sorts of issues as glibc. I wonder where all > that memory is going... strings? struct file*? struct dep*? Good question. I know that there are about 7K pattern variables and about 900 pattern rules. There are quite a few files involved, but I wouldn't say more than a thousand or two. None of that really explains the turnover or 45M of reachable memory at the end. [BTW, the reason there are 7K pattern variables is because every definition is added to the list. For example, if I have: %.o: CFLAGS := -g %.o: CFLAGS := -g %.o: CFLAGS := -g All three assignments will end up in the list. I wonder if we can be smarter here?] > What would be really nice is if you could run with --leak-check=full and > send me the stack traces for the leaks. Then I could see if they were > the same ones I'm seeing when I run the regression tests. Here is the log. I also added --show-reachable=yes: http://www.codesynthesis.com/~boris/tmp/make-valgrind.log > But, instructions on how to build your environment are welcome as well; > it seems like a worthy test case to be added to my environment. Ok, I will work on this. Which GNU/Linux distribution are you using? Boris -- Boris Kolpackov, Code Synthesis Tools http://codesynthesis.com/~boris/blog Open-source XML data binding for C++: http://codesynthesis.com/products/xsd XML data binding for embedded systems: http://codesynthesis.com/products/xsde