Avatar billede -sippo- Nybegynder
07. december 2002 - 04:22 Der er 5 kommentarer og
1 løsning

fart spørgsmål

mjalo..

Er der en function i delphi så man kal måle forskelige functioners hastighed.
Avatar billede arne_v Ekspert
07. december 2002 - 08:06 #1
Kald clock.
Kald funktionen en million gange (eller en milliard gane hvis det er nødvendigt).
Kald clock igen.
Udregn forskellen på de to.
Avatar billede morten_s Nybegynder
07. december 2002 - 12:13 #2
Du skal bruge funktionen GetTickCount

Kald GetTickCount før du går ind i din funktion og efter træk derefter de to Tick værdier fra hinanden og du har tiden i milisekunder, hvis din funktion tager kortere tid end 1 milisekund kan du kalde den f.eks 1000 gange og så aflæse din Tick

Delphi hjælp om TickCount:

The GetTickCount function retrieves the number of milliseconds that have elapsed since Windows was started.
Avatar billede morten_s Nybegynder
07. december 2002 - 12:46 #3
Du får lige et eksempel her:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    function MyFunction(i: integer): Boolean;
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

function TForm1.MyFunction(i:integer): Boolean;
begin
  Label1.Caption:= IntToStr(i);
  //Det som funktionen skal udfører
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  StartTick, StopTick: Cardinal;
  i: Integer;
begin
  StartTick:= GetTickCount;
  for i:= 1 to 1000 do
    MyFunction(i);
  StopTick:= GetTickCount;
  ShowMessage('Tiden som gik: '+IntToStr(StopTick-StartTick)+' [msek]');
end;

end.
Avatar billede -sippo- Nybegynder
07. december 2002 - 13:48 #4
takker for det..
Avatar billede justincase1089 Nybegynder
23. december 2002 - 17:49 #5
Vær lige opmærksom på, at dit program dør, hvis din computer har stået tændt i mere end ca. 45 dage
Avatar billede morten_s Nybegynder
25. december 2002 - 15:54 #6
justincase> Nix din tæller begynder bare på 0 igen
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
Kurser inden for grundlæggende programmering

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