[Vm-dev] Measuring allocations
Jan Vrany
jan.vrany at fit.cvut.cz
Thu Jun 1 08:17:34 UTC 2017
Hi folks,
Having a Spur VM, I wonder how to measure heap allocations made
by a process executing a particular block, from within the image.
For example, let's have following block:
[
| a |
100 timesRepeat: [
a := Array new: 100
]
].
When run, this block allocates - if I'm correct - some 100 * (<object
header size> + 4*100) bytes.
Note that:
* Ideally, I'd like to exclude allocations made by other threads
but having allocations made by all threads would be OK too.
* Block can span multiple scavenges even oldspace collects.
* As shown in the example above, I need to take garbage into
an account.
How to best measure this?
Thanks, Jan
More information about the Vm-dev
mailing list