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

L'interface est utilisable en appelant l'objet window.timeDuration, elle contient deux méthodes permettant de démarrer et d'arrêter un minuteur de mesure de délai d'exécution.

Méthodes de l'interface
start()(Function)

La méthode start() de l'interface timeDuration 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éthode start() définit le nom de la mesure à démarrer.

end()(Function)

La méthode end() de l'interface timeDuration 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éthode end() 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);
^