arXiv · 2506.16883
Low Overhead Allocation Sampling in a Garbage Collected Virtual Machine
Abstract
Compared to the more commonly used time-based profiling, allocation profiling provides an alternate view of the execution of allocation heavy dynamically typed languages. However, profiling every single allocation in a program is very inefficient. We present a sampling allocation profiler that is deeply integrated into the garbage collector of PyPy, a Python virtual machine. This integration ensures tunable low overhead for the allocation profiler, which we measure and quantify. Enabling allocation sampling profiling with a sampling period of 4 MB leads to a maximum time overhead of 25% in our benchmarks, over un-profiled regular execution.
Explore related subjects
Keep this discovery
Christoph Jung, C. F. Bolz-Tereick. 2025-06-20. Low Overhead Allocation Sampling in a Garbage Collected Virtual Machine. https://arxiv.org/abs/2506.16883
Cite the original work for its findings. Save a collection to share your selection of sources.