Rewind misst Zeit in bedingten Sprüngen statt in Nanosekunden
A Clock Made of Branches

Für seine deterministische VM Rewind sucht der Entwickler einen Zeitbegriff, der bei jeder Wiederholung identisch ist. Die Host-Uhr scheidet aus, weil sie von äußeren Einflüssen abhängt. Stattdessen zählt Rewind bedingte Sprünge: Jeder ausgeführte Branch erhöht die Uhr um eine Nanosekunde. Das ist deterministisch und bildet reale Arbeit deutlich besser ab als die reine Exit-Zeit, unter der Rechenzeit praktisch gratis ist. Der Artikel zeigt Messungen und erklärt, warum Interrupts den Instruktionszähler verfälschen, den Branch-Zähler aber nicht.
Manche sagen, Zeit sei eine Illusion. Ich sage, sie ist ein jnz-Zähler.