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 le t0 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.
Candidat au statut de recommandation 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

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
nowChrome Support complet 24
Support complet 24
Aucun support 21 — 24
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Edge Support complet 12Firefox Support complet 15
Notes
Support complet 15
Notes
Notes In Firefox 57.0.4 the accuracy was reduced to 20 microseconds.
Notes In Firefox 59 the accuracy was reduced to 2 milliseconds.
Notes In Firefox 60 the accuracy was increased to 1 millisecond.
IE Support complet 10Opera Support complet 15Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet 25Firefox Android Support complet 15
Notes
Support complet 15
Notes
Notes In Firefox 57.0.4 the accuracy was reduced to 20 microseconds.
Notes In Firefox 59 the accuracy was reduced to 2 milliseconds.
Notes In Firefox 60 the accuracy was increased to 1 millisecond.
Opera Android Aucun support NonSafari iOS Support complet 9Samsung Internet Android ?

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : mdnwebdocs-bot, Watilin, NemoNobobyPersonne, fscholz, Goofy, ilaborie
Dernière mise à jour par : mdnwebdocs-bot,