--- title: performance.now() slug: Web/API/Performance/now tags: - API - Méthode - Performanz - Referenz - Web Performance API translation_of: Web/API/Performance/now ---
Die performance.now()
Methode gibt einen {{domxref("DOMHighResTimeStamp")}} zurück, der in Millisekunden gemessen wird und auf fünf Tausendstel einer Millisekunde (5 Mikrosekunden) genau ist.
Der zurückgegebene Wert stellt die Zeit dar, die seit time origin (der {{domxref("PerformanceTiming.navigationStart")}} Eigenschaft und damit der Startzeit) vergangen ist. In einem Web Worker ist die Startzeit die Zeit, in der ihr Ausführungskontext (Thread oder Prozess) erstellt wurde. In einem Browserfenster ist es die Zeit, zu der eine Nutzerin zu dem aktuellen Dokument navigierte (oder die Navigation bestätigte, sollte Bestätigung notwendig gewesen sein). Folgende Punkte sind dabei zu beachten:
performance.now()
in dem Browserfenster, aus dem der worker hervorging. Ehemals gleich t0
dem Hauptkontext wurde dies in der Vergangenheit auf das heutige Verhalten geändert.t = performance.now();
var zeit0 = performance.now(); machEtwas(); var zeit1 = performance.now(); console.log("Der Aufruf von machEtwas dauerte " + (zeit1 - zeit0) + " Millisekunden.");
Anders als andere Zeitmessungsdaten, die in JavaScript verfügbar sind (beispielsweise Date.now
), sind die Zeitstempel, die von Performance.now()
zurückgegeben werden nicht auf eine Auflösung von einer Millisekunde beschränkt. Stattdessen repräsentieren sie Zeit als Fließkommazahl mit einer Präzision von bis zu einer Mikrosekunde.
Ebenso anders als Date.now()
, wachsen die Werte, die von Performance.now()
zurückgegeben werden immer in einem konstanten Tempo, unabhängig von der Systemuhr (die manuell eingestellt oder durch Software wie NTP ungenau geworden sein kann). Ansonsten wird performance.timing.navigationStart + performance.now()
annähernd ähnlich zu Date.now() sein
.
Spezifikation | Status | Kommentar |
---|---|---|
{{SpecName('Highres Time Level 2', '#dom-performance-now', 'performance.now()')}} | {{Spec2('Highres Time Level 2')}} | Strengere Definition von Schnittstellen und Typen |
{{SpecName('Highres Time', '#dom-performance-now', 'performance.now()')}} | {{Spec2('Highres Time')}} | Ursprüngliche Definition |
{{CompatibilityTable}}
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Grundsätzliche Unterstützung | {{CompatChrome("20.0")}} {{property_prefix("webkit")}} {{CompatChrome("24.0")}} [1] |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("15.0")}} | 10.0 | {{CompatOpera("15.0")}} | {{CompatSafari("8.0")}} |
in Web Workern | {{CompatChrome("33")}} | {{CompatUnknown}} | {{CompatGeckoDesktop("34.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
now() in einem dedizierten Worker ist nun unabhängig vom now() des Hauptkontextes. |
{{CompatUnknown}} | {{CompatUnknown}} | {{CompatGeckoDesktop("45.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Grundsätzliche Unterstützung | {{CompatAndroid("4.0")}} | {{CompatChrome("25.0")}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("15.0")}} | 10.0 | {{CompatNo}} | 9 | {{CompatChrome("25.0")}} |
in Web Workern | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile("34.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatVersionUnknown}} |
now() in einem dedizierten Worker ist nun unabhängig vom now() des Hauptkontextes. |
{{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile("45.0")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
[1] Windows Versionen von Chrome 20 bis 33 geben performance.now()
nur mit einer Millisekundengenauigkeit zurück.