webForumDet fria alternativet

Förfluten tid

.NET

7 svar · 382 visningar · startad av clarkbones

Medlem sedan feb. 20013 023 inlägg
Frågan#1

Hej!

Jag vill mäta hur lång tid det tar att exekvera några rader kod.

Jag fattar inte bara hur jag skall göra. Har använt timer i VBA, men det verkar inte funka på samma sätt i .NET...

Medlem sedan mars 20023 561 inlägg
#2

Du kan använda Trace. Läs mer i dokumentationen.

Medlem sedan juni 200335 inlägg
#3

float FrameRate(void){
if( GetTickCount()-last >= 1000 ) {
last = GetTickCount();
framespersecond=frames;
frames=0;
}

frames++;    
return framespersecond;

}

Gettickcount är datorns interna klocka som räknar oavsett vad som händer, finns nog inte i C# tror jag. kolla i .NET SDK om "Performance Counter" och prova om det går att använda den, den bör göra likadant . och "1000" är när det gått 1 sekund. Detta kanske ger dig en hint.

Medlem sedan mars 20023 561 inlägg
#4
using System.Diagnostics

private void Page_Load(object sender, System.EventArgs e)
{
	Trace.Write("Här börjar programmet");
	// HÄR HAR DU DIN KOD!!
	Trace.Write("Här slutar programmet");
}
Medlem sedan jan. 20012 204 inlägg
#5

Josef, fungerar inte enbart din kod i asp.net applikationer?

Medlem sedan juni 20022 599 inlägg
#6
DateTime StartTime = DateTime.Now;
/*
	Kodblock.
*/
TimeSpan timeSpent = DateTime.Now.Subtract(StartTime);

TimeSpan har sen properties som MilliSeconds, Ticks osv ..

Medlem sedan mars 20023 561 inlägg
#7

P skrev:

Josef, fungerar inte enbart din kod i asp.net applikationer?

Kan vara så. Jag har aldrig använt det i en klient-app.

Medlem sedan feb. 20013 023 inlägg
#8

Nikos kod känns enklast. Tack!

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)