Great stuff. I haven't tried figuring it out on cloud computers, but even when I have root access, turbo boost often enough seems to make precise measurements difficult. On Linux, with the exception of i7z (which he mentions) and 'turbostat' (which I usually prefer: <a href="https://github.com/torvalds/linux/blob/master/tools/power/x86/turbostat/turbostat.c" rel="nofollow">https://github.com/torvalds/linux/blob/master/tools/power/x8...</a>) CPU speeds are almost always reported using the nominal speed rather than the actual speed.<p>And even those tools just report an average speed, which means the part of the program you care about might be running faster or slower than the rest. The new Haswell-EP chips even have both an additional AVX base and AVX turbo speed, and switch speed for any portion of code that uses full width vectors. As a result, his traditional solutions 2 (read the performance counters) and 3 (write a test loop) can be harder than they sound.<p>So while the reading the MSR's can help a lot to diagnose the issue and to reduce the error, if you really want reliable measurements, the "turn it off in the BIOS" option is the best choice. But even this can be harder than it sounds, as it seems some BIOS will lie and use it anyway. At least, I have one Dell Haswell machine to which I have root but not physical access, which i7z and turbostat show to be running Turbo Boost although the otherwise reliable on site admin swears he's checked several times that it's turned off in BIOS.<p>It seems like it should be possible to turn Turbo Boost on or off by _writing_ to the appropriate MSR but I haven't succeeded with this yet. Is there a trick I'm missing? Has anyone else had success doing it this way? It would be nice to be able to turn it off as part of the timing routine, and then turn it back on for normal operation after.