On Monday, 18 November 2019 at 00:20:12 UTC, Steven Schveighoffer
wrote:
I'm fighting some out of memory problems using DMD and some
super-template heavy code.
I have ideas on how to improve the situation, but it involves
redesigning a large portion of the design. I want to do it
incrementally, but I need to see things improving.
Is there a straightforward way to figure out how much memory
the compiler uses during compilation? I though maybe
/usr/bin/time, but I feel like I don't trust the output to be
the true max resident size to be what I'm looking for (or that
it's 100% accurate). Is there a sure-fire way to have DMD print
it's footprint?
-Steve
You can wrap the whole thing in a shell script that takes PID of
the compiler, and uses psrecord [1] Python tool to give you CPU
and memory chart.
[1] https://pypi.org/project/psrecord/