Warum können aufeinanderfolgende Anrufe an perf_counter_ns unter Windows dieselbe Nummer zurückgeben?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Warum können aufeinanderfolgende Anrufe an perf_counter_ns unter Windows dieselbe Nummer zurückgeben?

by Anonymous » 21 Aug 2025, 05:58

Verwenden des folgenden Codes, das ich angenommen hätte. Siehe CNT in der Nähe von 0 , aber unter Windows sehe ich nur Werte über 500.000.

Code: Select all

from time import *

def test_time(f, c):
cnt = 0
for i in range(c):
ps, ts = f(), f()
if not ps - ts:
cnt += 1
return cnt

if __name__ == '__main__':
res = test_time(perf_counter_ns, 1_000_000)
print(res) # usually returns a count of over 500k
< /code>
Unter Linux geschieht dies nicht. Ich verstehe, dass die Ausgangsauflösung unter Windows auf 100 NS -Schritte begrenzt ist. Meine Frage, ob mir hier etwas fehlt oder wenn dies eine Möglichkeit gibt, unter Windows zu funktionieren. Es gibt einen guten Überblick über die Präzisionszeitmessung mit Python, befasst sich jedoch nicht mit der engeren Frage, warum aufeinanderfolgende Anrufe an perf_counter_ns 
denselben Wert unter Windows und nicht unter Linux ergeben können.

Top