[OT] Money for nothing, and your bit flips for free?

Nicholas Leippe nick at leippe.com
Wed Feb 7 15:47:51 MST 2007

clock() returns a clock_t, which isn't a unix timestamp (seconds) nor 
necessarily one tick per cpu clock cycle.

difftime() expects a time_t, which is a unix timestamp.  There's no guarantee 
that it will compute the correct difference for two clock_t values (which can 
suffer from wraparound).

Even if it were one tick per cpu clock cycle, remember also that the ipc of 
some instructions often exceeds 1 on modern cpus.  With loop unrolling on a 
good optimizing compiler targeting an OO cpu with multiple pipelines, several 
operations can sometimes be combined further increasing the effective ipc.

More information about the PLUG mailing list