Get the latest tech news

Low Overhead Allocation Sampling in a Garbage Collected Virtual Machine


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.

View a PDF of the paper titled Low Overhead Allocation Sampling in a Garbage Collected Virtual Machine, by Christoph Jung and C.F. 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.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of garbage

garbage

Photo of virtual machine

virtual machine

Photo of overhead allocation

overhead allocation

Related news:

News photo

AtomVM, the Erlang virtual machine for IoT devices

News photo

MRubyD: A new mruby virtual machine implemented in pure C#

News photo

Low Overhead Allocation Sampling with VMProf in PyPy's GC