PyTime C API¶
Tillagd i version 3.13.
API:et clock C ger tillgång till systemklockor. Det liknar Pythons modul time.
För C API relaterat till modulen datetime, se DateTime-objekt.
Typer¶
-
type PyTime_t¶
En tidsstämpel eller varaktighet i nanosekunder, representerad som ett signerat 64-bitars heltal.
Referenspunkten för tidsstämplar beror på vilken klocka som används. Till exempel
PyTime_Time()returnerar tidsstämplar i förhållande till UNIX-epoken.Det intervall som stöds är cirka [-292,3 år; +292,3 år]. Om man använder Unix-epoken (1 januari 1970) som referens är det datumintervall som stöds cirka [1677-09-21; 2262-04-11]. De exakta gränserna anges som konstanter:
Klockfunktioner¶
Följande funktioner tar en pekare till en PyTime_t som de ställer in till värdet för en viss klocka. Detaljer om varje klocka ges i dokumentationen för motsvarande Python-funktion.
Funktionerna returnerar 0 om de lyckas, eller \-1 (med en undantagsuppsättning) om de misslyckas.
Vid heltalsöverskridanden anger de undantaget PyExc_OverflowError och sätter *result till det värde som är fastspänt i intervallet [PyTime_MIN; PyTime_MAX]. (På nuvarande system orsakas heltalsöverflöden sannolikt av felkonfigurerad systemtid)
Som alla andra C API (om inget annat anges) måste funktionerna anropas med en attached thread state.
-
int PyTime_Monotonic(PyTime_t *result)¶
Läser den monotoniska klockan. Se
time.monotonic()för viktiga detaljer om denna klocka.
-
int PyTime_PerfCounter(PyTime_t *result)¶
Läser prestandaräknaren. Se
time.perf_counter()för viktiga detaljer om denna klocka.
-
int PyTime_Time(PyTime_t *result)¶
Läser av tiden på ”väggklockan”. Se
time.time()för viktiga detaljer om denna klocka.
Raw Clock-funktioner¶
Liknar klockfunktioner, men ställer inte in ett undantag vid fel och kräver inte att den som anropar har en attached thread state.
Vid framgång returnerar funktionerna 0.
Vid misslyckande sätter de *result till 0 och returnerar \-1, utan att sätta ett undantag. För att få reda på orsaken till felet, attach en thread state, och anropa den vanliga (icke-Raw) funktionen. Observera att den vanliga funktionen kan lyckas efter att den Raw misslyckats.
-
int PyTime_MonotonicRaw(PyTime_t *result)¶
Liknar
PyTime_Monotonic(), men sätter inte ett undantag vid fel och kräver inte en attached thread state.
-
int PyTime_PerfCounterRaw(PyTime_t *result)¶
Liknar
PyTime_PerfCounter(), men ställer inte in ett undantag vid fel och kräver inte en attached thread state.
-
int PyTime_TimeRaw(PyTime_t *result)¶
Liknar
PyTime_Time(), men sätter inte ett undantag vid fel och kräver inte en attached thread state.