AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Procedure vs Function, Vor- und Nachteile
Thema durchsuchen
Ansicht
Themen-Optionen

Procedure vs Function, Vor- und Nachteile

Ein Thema von KodeZwerg · begonnen am 15. Apr 2018 · letzter Beitrag vom 23. Apr 2018
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Procedure vs Function, Vor- und Nachteile

  Alt 22. Apr 2018, 07:41
Kleiner Bench Verbesserungs-Vorschlag
Delphi-Quellcode:
const
  amount = 1000000;
  attempts = 50;
var
  x,y: cardinal;
// tickstart, tickfinish: cardinal;
  ticks: cardinal; // eine variable genügt
// allcounts: cardinal;
  s: String;
begin
  Randomize; // einmal reicht, oder?
  SetLength(s, Random(255)); // lieber nur ein random um ein ein präziseres ergebniss zu erhalten, man will ja nicht random benchen
// allcounts := 0;
  for x := 1 to attempts do
  begin
    y := 1;
    ticks := GetTickCount;
// tickstart := GetTickCount;
    while y <= amount do
    begin
// Randomize;
// SetLength(s, Random(255));
      //entw Foo(s);
      //oder FooC(s);
      //oder FooV(s);
      inc(y);
    end;
// tickfinish := GetTickCount;
// allcounts := allcounts + tickfinish - tickstart; // 0 + tickdifferenz
    ticks := GetTickCount - ticks;
  end;
// showmessage(inttostr((allcounts div attempts)));
  showmessage(inttostr((ticks div attempts)));
end;
Ich habe es noch nicht getestet aber so erscheint es mir logischer
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.543 Beiträge
 
Delphi 12 Athens
 
#2

AW: Procedure vs Function, Vor- und Nachteile

  Alt 22. Apr 2018, 08:26
Uhrzeit (GetSystemTime und Andere) - maximal Millisekunden
GetTickCount - meistens 15-16 Millisekunden
QueryPerformanceCounter - schnell, x Nanosekunden
RDTSC (Read Time-Stamp Counter) - schneller, es waren mal CPU-Ticks

TThread.GetTickCount - bestimmt GetTickCount
TStopwatch - QueryPerformanceCounter im Windows
(TPlatformServices.Current as IFMXTimerService).GetTick - QueryPerformanceCounter im Windows
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (22. Apr 2018 um 08:37 Uhr)
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
496 Beiträge
 
Delphi 12 Athens
 
#3

AW: Procedure vs Function, Vor- und Nachteile

  Alt 23. Apr 2018, 01:50
1. ist doch völlig belanglos, das Ergebis ist das gleiche
2. ich schrieb bereits dass der code nur hingerotzt ist. musste es sogar erstmal formatieren, damit es hier nicht ganz so peinlich rüberkommt
3. die meisten sachen (doppelte variablen, randomization bei jedem durchlauf, ...) waren schon so beabsichtigt, um das ergebnis möglichst repräsentativ zu halten und nicht zu verfälschen. Wenn du sie aber weglassen willst, tu das. Die Funktion wurde ja ursprünglich auch nicht für das hier geschrieben, sondern für was anderes...
Dennis
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz