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'interfacetimeDurationpermet de démarrer une mesure d'un délai d'exécution.- Syntaxe
timeDuration.start(mesure);- Paramètre
mesure(String)Le paramètre
mesurede la méthodestart()définit le nom de la mesure à démarrer.
end()(Function)La méthode
end()de l'interfacetimeDurationpermet de stopper une mesure d'un délai d'exécution.- Syntaxe
timeDuration.end(mesure);- Paramètre
mesure(String)Le paramètre
mesurede 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 .
