Calculer un délai d'exécution avec JavaScript
Concept et utilisation
L'interface timeDuration
permet de calculer la durée d'exécution d'une tâche.
Elle utilise l'API Web Performance pour effectuer des mesures précises en millisecondes, indépendamment de l'horloge du système de l'utilisateur.
Interface
timeDuration
- Méthodes de l'interface
start()
(Function)La méthode
start()
de l'interfacetimeDuration
permet de démarrer une mesure d'un délai d'exécution.- Syntaxe
timeDuration.start(mesure);
- Paramètre
mesure
(String)Le paramètre
mesure
de la méthodestart()
définit le nom de la mesure à démarrer.
end()
(Function)La méthode
end()
de l'interfacetimeDuration
permet de stopper une mesure d'un délai d'exécution.- Syntaxe
timeDuration.end(mesure);
- Paramètre
mesure
(String)Le paramètre
mesure
de la méthodeend()
définit le nom de la mesure à stopper.
Le délai en millisecondes d'exécution de la tâche arrêtée est retourné.
Exemple de mesure d'un délai d'exécution
var mesure = 'test';
timeDuration.start(mesure);
setTimeout(function() {
var duree_test = timeDuration.end(mesure);
console.log(duree_test);
// renvoie par exemple : 1002.5
}, 1000);
Code source de la fonction
window.timeDuration=(function(p){var t=this,g=function(x,y){return p.getEntriesByName(x,y);},
s='duration_start__',e='duration_end__';t.start=function(n){var x=s+n;if(g(x,'mark').length>0){
throw new Error("'"+n+"' already.");}p.mark(x);};t.end=function(n){var x=s+n,y=e+n;
if(g(x,'mark').length===0){throw new Error("The measure '"+n+"' not started.");}p.mark(y);
p.measure(n,x,y);var m=g(n,'measure');p.clearMarks(x);p.clearMarks(y);p.clearMeasures(n);
return m[m.length-1].duration;};return t;})(performance);
Dernière mise à jour le .