JavaScript/Anwendung und Praxis/Ausführungszeiten messen

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Wenn Sie Lade- und Laufzeiten von Skripten messen und vergleichen wollen, reicht das Date-Objekt von JavaScript nicht aus, da die Systemzeit des Anwenderrechners nicht hinreichend genau ist. Theoretisch misst sie in Millisekunden - praktisch verzögert sich die Ausführung von Skripten durch die single-threaded Natur von JavaScript. Darüber hinaus wird die Systemzeit alle 15-20 Minuten synchronisiert, sodass es hier zu Sprüngen von mehreren Millisekunden kommen kann.

Inhaltsverzeichnis


Beispiel: früher: Messen mit dem Date-Objekt
var start = new Date();
    // CODE, der gemessen werden soll
var time = new Date() - start;
// time is the number of milliseconds it takes to execute the script

[Bearbeiten] High Resolution Time

Der DOMHighResTimeStamp kann zum Speichern von Zeitwerten verwendet werden. Im Unterschied zum Date-Objekt kann es dabei bis zu 5/1000 einer Millisekunde (5 µs (Microsekunden)) unterscheiden.

[Bearbeiten] performance.now()

Die Methode window.performance.now ermöglicht ähnlich wie Date.now() das Messen und Vergleichen von Zeitpunkten. Dabei bietet es aber timestamps mit einer kleineren Auflösung als die im Date-Objekt verwendeten Millisekunden, um die Seitenperformance messen zu können.

  • Chrome
  • Firefox
  • IE 10
  • Opera
  • Safari

Grundlage ist nicht der 01.01.1970, sondern die in performance.timing.navigationStart gespeicherte Zeit, in der die fragliche Seite geladen wurde.

Beispiel: heute: Messen mit performance.now()
var start = performance.now();
    // CODE, der gemessen werden soll
var time = performance.now();
console.log('Dauer: ' + (time - start) + ' ms.');

[Bearbeiten] Weblinks

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Index
Mitmachen
Werkzeuge
Spenden
SELFHTML