OT: recommended way of timing two pieces of code in C

Tom Horsley horsley1953 at gmail.com
Fri Feb 26 17:44:10 UTC 2016


On Fri, 26 Feb 2016 09:51:24 -0600
Ranjan Maitra wrote:

> How does this happen? The number of operations are exactly the same (or should be).

The number of operations in your program are the same, but
your program is running on the same machine as the linux
OS which has deamons running in the background, and may
even be stopping to page in code your program needs, or grow
pages as it allocates memory. Vast numbers of things
affect timing. Even the stupid dynamic library load address
randomization linux does can result in totally different
cache hits in memory. The list goes on and on...

Apart from linux, most motherboards these days have SMI
interrupts happening behind everyone's back which leave
missing chunks of time no one can account for.


More information about the users mailing list