AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Benchmark Algorythmus

Offene Frage von "theomega"
Ein Thema von theomega · begonnen am 6. Jan 2005 · letzter Beitrag vom 8. Apr 2005
Antwort Antwort
Seite 2 von 3     12 3   
tommie-lie
(Gast)

n/a Beiträge
 
#11

Re: Benchmark Algorythmus

  Alt 8. Jan 2005, 11:07
Zitat von ibp:
schreib dir doch eine eigene berechnungsmethode!
Sein Problem ist ja anscheinend der Mangel an Kreativität, genau das zu tun

Zitat von ibp:
ping doch mal hagen [negaH] an vielleicht hat der eine Idee!
Zitat:
C:\>ping hagen [negaH]
Ping-Anforderung konnte Host "hagen" nicht finden. Überprüfen Sie den Namen, und versuchen Sie es erneut.
Hmm... also irgendwas stimmt da nicht, er wird doch nicht etwa tot sein?


Edit, die 19823.: Aaaargh, ich hasse meinen Browser-Cache!
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Benchmark Algorythmus

  Alt 5. Apr 2005, 15:08
Du hattest doch schon sowas wie Primzahlentest vorgeschlagen. Warum nimmst du das dann nicht auch?
Delphi-Quellcode:
function Ist_Prim(n: LongWord): Boolean;
//LongWord ist ein vorzeichenloser 32bit-Integertyp
var i: Longword;
begin
  if n>=2 then Result:= True
    else Result:= False;
  i:= 2;
  while (Result and (i<=n-1)) do begin
    Result:= ((n mod i)<>0);
    i:= i+1;
  end;//while
end;
(ja, ich weiß, die Funktion könnte man noch deutlich optimieren, aber da es hier ja darum geht, eine gewisse Auslastung zu erreichen, erspare ich mir das mal.)

Diese Funktion kann man dann in einer for-Schleife laufen lassen und mit GetTickCount die Zeit nehmen:
Delphi-Quellcode:
var x, t: LongWord;
begin
  t:= GetTickCount;//Zeit nehmen
  for x:= 2 to 1000000 do Ist_Prim(x);
  t:= GetTickCount -t;
  ShowMessage('Dauer: '+IntToStr(t)+' ms');
end;
MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Benchmark Algorythmus

  Alt 5. Apr 2005, 16:44
Man kann auch einfach Integeradditionen/divisionen/potenzen/wurzeln bzw. das gleiche mit Float.

Einfach, aber es funktioniert.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Benchmark Algorythmus

  Alt 5. Apr 2005, 16:52
Zitat von 3_of_8:
Man kann auch einfach Integeradditionen/divisionen/potenzen/wurzeln bzw. das gleiche mit Float.

Einfach, aber es funktioniert.
Ja, aber laut Threadersteller sollten es nur 32bit-Integer sein. Und Float-Typen (z.B. Real (48bit)) gehören leider nicht dazu.
Und Wurzeln sind in den seltensten Fällen auch wieder Integer-Werte (z.B. bei sqrt(2)= 1.41....).
Wer lesen kann ist halt klar im Vorteil.
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Benchmark Algorythmus

  Alt 5. Apr 2005, 17:07
Ich kann ja nicht wissen, dass Floats 48-Bit Variablen sind, ich bin schließlich doch ein Newbie und habe keine Ahnung von den Hintergründen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#16

Re: Benchmark Algorythmus

  Alt 5. Apr 2005, 17:31
Zitat von Binärbaum:
Ja, aber laut Threadersteller sollten es nur 32bit-Integer sein. Und Float-Typen (z.B. Real (48bit)) gehören leider nicht dazu.
Er sagte, es stehen im vom Range her nur 32bit für Integer zur Verfügung, weswegen er nicht mit großen Zahlen arbeiten kann. Außerdem, man soll es nicht für möglich halten, gibt es auch 32bit Floats, und wenn man die FPU in Software emuliert
Solange der OP nichts über die Architektur verrät, können wir hier weiter im Dunkeln tappen und irgendwelche Berechnungen in die Luft werfen, Benchmarks sind und bleiben ziemlich oft Architekturspezifisch. Wenn ich 3GB Cache habe, kann mir der Speicherzugriff egal sein, da ich praktisch nie auf den langsamen RAM zugreife. In einem solchen Fall kann ich auch schonmal 10000x10000 Matrizen durch den Rechner jagen. Wenn ich hingegen mehrere Dutzend Pipelines habe, muss ich dafür sorgen, daß der Code so aussieht, daß auch jede Pipeline sinnvoll benutzt werden kann.
Aber das schrob ich ja alles schon...
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Benchmark Algorythmus

  Alt 5. Apr 2005, 17:36
Zitat von 3_of_8:
Ich kann ja nicht wissen, dass Floats 48-Bit Variablen sind, ich bin schließlich doch ein Newbie und habe keine Ahnung von den Hintergründen.
Kann ja passieren, dass man nicht weiß, wie groß ein Typ ist (ich behaupte, dass es selbst den erfahrenen Programmierern manchmal so geht ). Doch das ist auch nicht unbedingt das, was ich meinte.
Man könnte auch statt Real den Typ Single verwenden. Der wäre dann 32 bit groß. Allerdings ist ein Float-/ Real-Typ doch auch was anderes als ein Ganzzahl-/Integer-Typ. Schleißlich kann man mit einem Integer keine Werte wie 1234.56789 darstellen. Und das könnte bzw. sollte man doch wissen (auch wenn man sich noch als Newbie einstuft).

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Benchmark Algorythmus

  Alt 6. Apr 2005, 17:36
Natürlich weiß ich, was ein Float ist. Ich habe ja auch gesagt, man kann die Berechnung sowohl mit Integern als auch mit Floats machen, was dann natürlich auch unterschiedliche Ergebnisse bringt, denn Floats sind natürlich deutlich langsamer. Ich habe nie behauptet, dass es das gleiche ist, was man nimmt.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#19

Re: Benchmark Algorythmus

  Alt 6. Apr 2005, 17:50
WARUM nicht einfach sowas:
Delphi-Quellcode:
function benchmark:integer; //gibt die dauer in ms zurück
var i,temp:integer;
begin
result :=getTickCount();
for i:=0 to 30000 do
begin
    temp :=round(i+sqr(i)-sqrt(i)*i+3/i);
end;
result :=result -getTickCount();
end;
Oder irgend so einen Schwaschsinn. Du kannst wahrscheinlich auch einfach konstante Werte nehmen... Ich weiß nur nicht, ob der Compiler dann irgendwelche Optimierungen vornimmt, die ganz überl sind...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#20

Re: Benchmark Algorythmus

  Alt 6. Apr 2005, 17:53
Die Compileroptimierungen kann man doch ausschalten, oder?

Und @Binärbaum: Vielleicht sollten wir aufhören mit diesem *Streit*. Sonst kommt noch ein Mod und schließt den Thread oder sowas in der Art.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz