ASPNL logo (1 kb)
zaterdag 17 mei 2008




Microsoft MVP

.NET Codewise Community
<< vorige | overzicht | volgende >>

Hoe snel is mijn code?

Door Michiel van Otegem
20 juni 2001

Het is erg belangrijk om te weten hoe snel je code, of delen daarvan, loopt. Zo kun je namelijk makkelijk zien welke operaties misschien anders moeten om meer gebruikers op je site te kunnen verwerken. Hoewel snelheidsmeeting geen vervanging is voor testen onder (zware) load, kan het je tijdens het ontwikkelen van een applicatie helpen van te voren bottlenecks te identificeren en te verhelpen. Voor echte robuuste tests kun je beter een stress-tool gebruiken zoals de Web Application Stress Tool.

Om snelheid te meten zijn er allerlei (COM) objecten zoals Profiling Component 1.1. Deze componenten zijn accurater dan tijdsmeting met script. Tijdsmeting op basis van script is namelijk afhankelijk van de interne klok van de computer. Die werkt op basis van een interval iedere 55 milliseconden. Je meting zal dus ook maar accuraat zijn tot op 55 milliseconden.

De code hieronder laat zien hoe je kan meten met VBScript en JScript:

metervbscript.asp
<%
Option Explicit

Dim Startpunt
Dim i

Startpunt = Timer
For i = 1 To 1000
   Response.Write("Doe iets!")
Next

Response.Write("Tijdsduur: " & (Timer - Startpunt) & " seconden")
%>


meterjscript.asp
<SCRIPT LANGUAGE=JScript RUNAT=Server>
function meetpunt() {
//return datum/tijd in milliseconden sinds 1970
   var d = new Date();
   return d.getTime();
}

var startpunt = meetpunt();

for(var i=0; i < 1000;i++) {
   Response.Write("Doe iets!");
}

Response.Write("Tijdsduur: " + (meetpunt() - startpunt) + " milliseconden")
</SCRIPT>


Als je dit script test zie je 1000 maal de tekst "Doe iets!" en daarna een melding van het aantal milliseconden dat het script nodig had. Als je een aantal keer ververst, zie je dat de tijd niet altijd hetzelfde is. Je moet het dus altijd een paar keer uitvoeren en een gemiddelde nemen om een goed idee van de snelheid te krijgen. Let er bovendien op dat het kan zijn dat het script de eerste keer in het server geheugen geladen en gecompileerd wordt. De tweede keer dat het script loopt, is dit waarschijnlijk niet nodig en zal het dus enigszins sneller zijn.

<< vorige | ^ naar boven | overzicht | volgende >>
copyright 2000-2007 ASPNL