Tracing memory allocations¶
The library can trace memory allocations but doesn’t do it by default because it is expensive (in terms of execution time). And to keep the benchmark execution time reasonable when tracing memory, true-north will collect the sample only after some operations, not all of them. So, the real numbers of allocations and usage might be higher.
To track memory allocations, run CLI with --mallocs
or call Group.print
with Config(mallocs=True)
.
Reading output¶
1438 allocs 139 KiB used 501 samples
1438 allocs
: how many memory allocations happened during one loop.139 KiB used
: the size of the biggest memory sample collected. The same as for allocations, the real number might be higher.501 samples
: how many memory samples were collected. By default true-north tries to collect about 500 samples. It does so by tracking during opcode pass how many lines of code were executed, and then divinding this number by 500 to get how often sampling should be trigered.