RESSOURCES 
 
Mesurer le temps d'exécution de portions de code ASP
Sous licence GPL 11 septembre 2001
 
 


Ces fonctions Javascript vous permettront de tester combien de temps la page exécute des portions de code ASP. On définira une variable de type TimeTest par:

var TT = new TimeTest(true);

Puis on placera un "marquage" là où l'on désire tester le temps d'exécution, par exemple:

TT.Mark("Menus afficher");

Il ne reste plus, en bas de page, qu'à afficher les statistiques de chargement (temps total, temps et pourcentage du temps total pour chaque marque) avec:

TT.Stats();

function TimeTest(DoIt) {
 this.bDoIt = DoIt;
 this.LastMill = (new Date()).getMilliseconds();
 this.LastSec = (new Date()).getSeconds();
 this.Total = 0;

 this.Marks = new Array();
 this.Mark = TimeTest_Mark;
 this.Mark("TOP");
 this.Stats = TimeTest_Stats;
}

 function TimeTest_Mark(LogText) {
  if (this.bDoIt) {
   var Sec = (new Date()).getSeconds();
   var Mill = (new Date()).getMilliseconds();
   var Diff = 0;
   if (Sec==this.LastSec) Diff = (Mill-this.LastMill) 
   else Diff = ((1000-this.LastMill) + Mill) 
                + ((Sec - (this.LastSec+1)) * 1000)
   this.Total += Diff;
   Response.Write("<P><B>" + LogText + " : " + Sec + ":" + Mill
                  + "   +" + Diff
                  + " (" + this.Total + ")</B></P>");
   this.LastSec = Sec;
   this.LastMill = Mill;
   this.Marks[this.Marks.length] = new Array(LogText, Diff);
  }
 }

 function TimeTest_Stats() {
  if (this.bDoIt) { 
   for (var i=0; i<this.Marks.length; i++)
    Response.Write("<B>" + this.Marks[i][0] + " - " + this.Marks[i][1]
                   + " - " + (((this.Marks[i][1]/this.Total)*100)+"").
substring(0,(((this.Marks[i][1]/this.Total)*100)+"").indexOf(".")+2)
                   + "%</B><BR>");
  }
 }
 
Accueil | Haut de page