was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews
 sonstiges ¦  tutorials ¦  Add&Win Gewinnspiel

Tips (1541)

Dateien (137)
Datenbanken (90)
Drucken (35)
Grafik (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Mathematik (76)
Multimedia (45)
Oberfläche (107)
Objekte/
ActiveX (51)

OpenTools API (3)
Sonstiges (126)
Strings (83)
System (266)
VCL (242)

Tips sortiert nach
Komponente


Tip suchen

Tip hinzufügen

Add&Win Gewinnspiel

Werbung

120 Visitors Online


 
...ein Zeitintervall mikrosekundengenau messen?
Autor: Gstatter, Erhard
[ Tip ausdrucken ]  

Tip Bewertung (9):  
     


{
  You want to measure the elapsed time in a repeat, while or a for -Loop
  to do some optimation ?

  Sie möchten eine Routine mit einer repeat, while oder for i :=...hinsichtlich der
  durchlaufenen Zeit messen, um z.B.Optimierungsaktivitäten durchzuführen.
}

// Global Variables, Globale Variablen:

  
t1, t2, Res: TLargeInteger;
  bOk: BOOL;

implementation

uses 
Windows, dialogs;

procedure StartTimer;
begin
  
bOK := QueryPerformanceFrequency(Res);
  if bOK then
    
QueryPerformanceCounter(t1);
end;

procedure StopTimer;
begin
  if 
bOK then
    
QueryPerformanceCounter(t2);
end;

procedure LoopRoutine;
var
  
iCounter: integer;
begin
  
StartTimer;
  // Put here some kind of loop: For, While or Repeat
  
for i := 0 to iCounter do...
  { WHILE....
   repeat...until}
  { After the Loop/
   Nach Abschluss der Schleifenroutine:}
    
if bOK then
      
QueryPerformanceCounter(t2);
end;

procedure StartSchleife;
begin
  
LoopRoutine;
  if bOK then
    
{$IFDEF VER80}
    // Show the elapsed time:
    
MessageDlg('Der Schleifendurchlauf dauerte: ' + Format('%g Sekunden.',
      [(t2.QuadPart - t1.Quadpart) / Res.QuadPart]));
  $Else {$IFDEF VER120}
  
MessageDlg('Der Schleifendurchlauf dauerte: ' + Format('%g Sekunden.',
    [(t2 - t1) / Res]));
  {$ENDIF}
end;


 

Bewerten Sie diesen Tipp:

dürftig
ausgezeichnet


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners