Avatar billede jesperbaldur Nybegynder
15. august 2004 - 22:11 Der er 15 kommentarer og
2 løsninger

Tag tid på eksekvering af en sub rutine

Hvordan kan man tage tid på hvor lang tid det tager at udføre en given kode(gerne i millisekunder) ?
Avatar billede arne_v Ekspert
15. august 2004 - 22:14 #1
long t1 = DateTime.Now.Ticks;
        ...
        long t2 = DateTime.Now.Ticks;

(enheden er  1/10000000 sekunder)
Avatar billede snepnet Nybegynder
15. august 2004 - 22:14 #2
Du kan gøre det med trace. sørg for at det er enabled i din web.config, og skriv til det i koden ved :
Trace.Write(...);
Du kan i konfigurationsfilen vælge at få tracet skrevet ud direkte på siden, og hvis du ikke vælger det, kan du kalde dit trace ved f.eks. :
http://localhost/<dit web>/Trace.axd
Mvh
Avatar billede snepnet Nybegynder
15. august 2004 - 22:16 #3
F.eks.

private void HeavyRoutine()
{
  Trace.Write("Heavy routine","Begin");
  // so something heavy
  Trace.Write("Heavy routine","End");
}
Avatar billede snepnet Nybegynder
15. august 2004 - 22:20 #4
Ovenstående vil give dig følgende i dit trace :
(tiderne er angivet i from first, og from last)

TimeTrace Begin 0,001182 0,000613
TimeTrace End  0,004709 0,003527
Avatar billede snepnet Nybegynder
22. august 2004 - 13:36 #5
smider et svar her i tilfælde at du brugte det jeg skrev jesper :o)
mvh
Avatar billede bumle90 Nybegynder
26. august 2004 - 12:09 #6
Snepnet, hvordan skal det forståes?
From first og from last?
Hvad indikerer det?
Avatar billede snepnet Nybegynder
26. august 2004 - 12:59 #7
hej bumle.... det giver egentlig lidt sig selv når du kigger det igennem.
from first angiver hvor lang tid der er gået siden den første linie, og from last fortæller hvor lang tid der er gået mellem de sidste to linier...
var det forståeligt ?
Avatar billede bumle90 Nybegynder
26. august 2004 - 13:15 #8
Hvorfor lige mellem de 2 sidste linier?
Avatar billede bumle90 Nybegynder
26. august 2004 - 13:29 #9
aspx.page Begin Init 
aspx.page End Init 0,019939 0,019939
Page_Load Begin 0,021713 0,001773
Page_Load End 0,256639 0,234926

Okay, jeg har indsat
Trace.Write("Page_Load","Begin");
Trace.Write("Page_Load","End");

Jeg har indsat i toppen og bunden af min Page_Load på dokumentet der laver pdf-siden og streamer den til klienten.

Hvordan er tiden angivet?
Er det i sekunder eller hvad?
Avatar billede snepnet Nybegynder
26. august 2004 - 13:32 #10
ja det er i sekunder
Avatar billede snepnet Nybegynder
26. august 2004 - 13:33 #11
det er tidsforskellen på det sidste, og det aktuelle trace (altså forskellen mellem de sidste to linier).
Avatar billede bumle90 Nybegynder
26. august 2004 - 13:44 #12
Det fatter jeg ikke så. Der står 0,25 sekunder deroppe, altså
Page_Load End 0,256639 0,234926
Men når jeg reeelt trykker på pdf linket tager det ihvertfald 15 sekunder før den åbner pdf-dokumentet. Og det er på 100Mbit lan vel og mærke.
Jeg laver et objekt inde i page_load som sørger for at hente data op og lave selve fdf filen, men det tæller vel med i den samlede tidsmåling eftersom det foregår imellem Begin og End. Det giver ikke så meget mening synes jeg. Eller har jeg misforstået noget?
Avatar billede bumle90 Nybegynder
26. august 2004 - 14:25 #13
er du der snepnet?
Avatar billede bumle90 Nybegynder
26. august 2004 - 14:37 #14
Jeg kan godt smide noget kode hvis det er.....og selvfølgelig oprette et spg. med point :)
Avatar billede snepnet Nybegynder
26. august 2004 - 21:07 #15
hej bumle... beklager jeg ikke har været her - det har været en lidt skrap dag.
har du stadig spørgsmål til det ?
mvh
Avatar billede snepnet Nybegynder
01. september 2004 - 21:34 #16
hej jesper... kan vi lukker her ?
Avatar billede snepnet Nybegynder
15. september 2004 - 08:03 #17
jesper ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester