perf_event self-monitoring overhead

compared against perfctr and perfmon2

The new Linux perf_event performance counter interface has more overhead than previous Linux performance counter interfaces.

On this page I compare the overhead of various Linux hardware performance counter implementations.


A summary of my findings as of January 2015 can be found in the following ISPASS 2015 paper:
A preliminary version of this work was presented in April 2013 at the 2013 FastPath workshop:


The tools used to generate the data and plots can be obtained from git:
git clone git://

Older Results

Kernel Comparison

The outliers are caused by L2 cache misses as well as DTLB misses.

rdpmc Results

Compiler Results

Older results comaring amd0f/atom/core2/nehalem

Some even older results
Back to the perf_event overhead page