Revision e1dc988...
Go back to digest for 13th January 2013Features in Development Tools
Show actual AST size in the debug utility cpp-parser.
This is done by walking the tree and summing the size of the
encountered nodes.
The output is insofar interesting as it shows the discrepancy between
allocated memory and required memory of about 100% - i.e. we need
twice as much memory as the AST is actually needing. This is mostly
due to backtracking in the parser: When we encounter an invalid node
somewhere we might bubble up the parse chain and continue down a
different path. Any allocations in the memory pool are 'lost' this
way and not reclaimed until the whole pool is discarded.
We might want to think about reclaiming such nodes somehow. So far,
I did not come up with an easy, fast API to achieve this result
though...
File Changes
- languages/cpp/tests/cpp-parser.cpp