bare3
For bare3_2, my understanding is that the elapsed() function gives you the elapsed time at that instant. You're using it in the hprintln() so a certain amount of time has passed after the wait() function and thus gives you the wrong reading. You should get the same diff-result for all the runs, but you last one is different (actually faster...). Try to use elapsed() directly after wait()