Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You have to do so much more to be able to reliably measure events on the scale of nanos. You need to lock C-states, disable P-state driver, isolate CPUs, get rid of RCUs, affinitize your tasks, enable low-tick mode, skew hr ticks, make sure you use TSC clocksource, set the cpu governor, get rid of vmstat, set correct idle driver, disable audits, and watchdogs and much, much more.


If you want to instrument only a handful events, yes. But for microbenchmarks which you can run for many iterations to get min/max/stdev (such as the benchmarks in the article) it's much easier. Disabling turbo often is sufficient to lower the variance far enough that old and new code are clearly distinguishable.


It has nothing to do with instrumenting and everything to do with platform noise.


+1 This guy profiles




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: