--- title: performance.now() slug: Web/API/Performance/now tags: - API - Méthode - Performanz - Referenz - Web Performance API translation_of: Web/API/Performance/now ---
{{APIRef("High Resolution Timing")}}

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:

t = performance.now();

Beispiel

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.

Spezifkationen

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

Browserkompatibilität

{{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.

Siehe auch