La méthode Performance.now()
retourne un DOMHighResTimeStamp
, mesuré en millisecondes, avec une précision de 5 millième de milliseconde (5 microsecondes).
La valeur retournée représente le temps écoulé depuis l'origine de temps.
Gardez présents à l'esprit les points suivants :
- Dans les workers dédiés créés à partir d'un contexte
Window
, la valeur dans le worker sera inférieure àperformance.now()
dans la fenêtre qui a créé ce worker. C'était auparavant la même chose que let0
du contexte principal, mais cela a été changé. - Dans les workers partagés ou de service, la valeur dans le worker peut être supérieure à celle du contexte principal, car cette fenêtre peut être créée après ces workers.
Syntaxe
t = performance.now();
Exemple
var t0 = performance.now();
faireQuelqueChose();
var t1 = performance.now();
console.log("L'appel à faireQuelqueChose a pris " + (t1 - t0) + " millisecondes.")
Contrairement aux autres données de temps disponibles en JavaScript (par exemple Date.now
), les horodatages retournés par Performance.now()
ne sont pas limités à une précision d'une milliseconde. Au contraire, ils représentent les temps comme des nombres flottants avec une précision pouvant aller jusqu'à une microseconde.
Également contrairement à Date.now()
, les valeurs retournées par Performance.now()
sont toujours incrémentées à un taux constant, indépendant de l'horloge du système (qui peut être ajustée manuellement ou par l'intermédiaire d'un logiciel comme NTP). Sinon, performance.timing.navigationStart + performance.now()
sera approximativement égal à Date.now().
Spécifications
Spécification | Statut | Commentaire |
---|---|---|
High Resolution Time Level 2 La définition de 'performance.now()' dans cette spécification. |
Recommendation | Définitions plus strictes des interfaces et des types. |
High Resolution Time La définition de 'Performance.now()' dans cette spécification. |
Recommendation | Définition initiale |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- When milliseconds are not enough: performance.now() de HTML5 Rocks.