/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Tidsmåling i Delphi
Fra : // Overby


Dato : 08-11-01 13:57

Hejsa

Jeg har behov for at lave tidsmåling på forskellige søge og
sorteringsalgoritmer i mit program. Hvordan kan dette løses?

Jeg har forestillet mig noget med at starte en timer, når man kalder
funktionen, og stopper den lige inden funktionen forlades. Er dette den
bedste måde og hvordan gøres det, eller er der et alternativ... Kan man evt.
beregne det på antal brugte CPU-cykluser.

Daniel

P.s. funktionen skal helst være meget præcis, da det jo kun tager et brøkdel
af et sekund at lave en sortering på en relativ lille datamængde.



 
 
Uffe Kousgaard (08-11-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 08-11-01 15:14


"// Overby" <overby@sport.dk> wrote in message
news:3bea80ff$0$2000$edfadb0f@dspool01.news.tele.dk...
> Hejsa
>
> P.s. funktionen skal helst være meget præcis, da det jo kun tager et
brøkdel
> af et sekund at lave en sortering på en relativ lille datamængde.
>
Hvis dine datamængder er så små, betyder det måske ikke så meget? Ellers
udfør sorteringen en masse gange og korrigerer tidstagningen tilsvarende.
Generelt skal du anvende gettickcount (millisekunder) eller kigge nærmere
her: http://www.prodelphi.de/

hilsen
Uffe




// Overby (08-11-2001)
Kommentar
Fra : // Overby


Dato : 08-11-01 16:52

Har løst problemet ved at oprette to TDateTime og gemmer den aktuelle tid
vha. now. Jeg gemmer så tiden lige før og lige efter jeg kalder modulet. Jeg
bruger så DecodeTime til at få millisekunder med....

Daniel



Yngve Damgaard (09-11-2001)
Kommentar
Fra : Yngve Damgaard


Dato : 09-11-01 10:29

Hej Daniel
Siden din måling skal være meget præcis( også for korte tider),
har du faktisk ikke løst dit problem.
Prøv at sammenligne resultatet fra din løsning med GetTickCount
løsningen som foreslået tidligere i tråden.
Yngve

"// Overby" <overby@sport.dk> skrev i en meddelelse
news:3beaaa3e$0$25405$edfadb0f@dspool01.news.tele.dk...
> Har løst problemet ved at oprette to TDateTime og gemmer den aktuelle tid
> vha. now. Jeg gemmer så tiden lige før og lige efter jeg kalder modulet.
Jeg
> bruger så DecodeTime til at få millisekunder med....
>
> Daniel
>
>



// Overby (09-11-2001)
Kommentar
Fra : // Overby


Dato : 09-11-01 15:36

> Siden din måling skal være meget præcis( også for korte tider),
> har du faktisk ikke løst dit problem.
> Prøv at sammenligne resultatet fra din løsning med GetTickCount
> løsningen som foreslået tidligere i tråden.
> Yngve

Jeg kan ikke finde GetTickCount i Delphi 4 standard.... Jeg skal bruge
tidsmåling til at foretage måling over tidsforbruget for forskellige søge og
sorteringsalgoritmer...

Daniel




Yngve Damgaard (09-11-2001)
Kommentar
Fra : Yngve Damgaard


Dato : 09-11-01 17:48

Skulle GetTickCount virkelig mangle i Delphi 4 standard ????.
GetTickCount er jo API kald, og skulle være
gjort grydeklart i windows.pas.
Yngve

NB.
Hvad fejl får du f.eks. på denne kode?

uses windows

procedure TestTick;
var
MilliSekSidenWinStart : longword;
begin
MilliSekSidenWinStart := GetTickCount;
end;


**Klip**
> Jeg kan ikke finde GetTickCount i Delphi 4 standard.... Jeg skal bruge
> tidsmåling til at foretage måling over tidsforbruget for forskellige søge
og
> sorteringsalgoritmer...
>
> Daniel
>
>
>



// Overby (11-11-2001)
Kommentar
Fra : // Overby


Dato : 11-11-01 19:53

> Hvad fejl får du f.eks. på denne kode?

Ingen... det virker fint nok... Jeg kunne bare ikke finde info om det i
hjælpen.... Jeg havde ingen rigtig anelse om hvordan jeg skulle gribe det
an....



Uffe Kousgaard (09-11-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 09-11-01 19:09

Den er deklareret således i windows.pas, så prøv at tilføje windows i din
uses liste. En mulighed er også at den er udeladt af D4 standard.

function GetTickCount: DWORD; stdcall;
{$EXTERNALSYM GetTickCount}

Hilsen
Uffe

"// Overby" <overby@sport.dk> wrote in message
news:3bebe9e0$0$249$edfadb0f@dspool01.news.tele.dk...
> > Siden din måling skal være meget præcis( også for korte tider),
> > har du faktisk ikke løst dit problem.
> > Prøv at sammenligne resultatet fra din løsning med GetTickCount
> > løsningen som foreslået tidligere i tråden.
> > Yngve
>
> Jeg kan ikke finde GetTickCount i Delphi 4 standard.... Jeg skal bruge
> tidsmåling til at foretage måling over tidsforbruget for forskellige søge
og
> sorteringsalgoritmer...
>
> Daniel
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste