AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Benchmark Algorythmus

Offene Frage von "theomega"
Ein Thema von theomega · begonnen am 6. Jan 2005 · letzter Beitrag vom 8. Apr 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#1

Benchmark Algorythmus

  Alt 6. Jan 2005, 23:19
Hallo Leute,
ich suche eine Berechnung die extrem CPU lastig ist, aber nicht stark auf den RAM geht. Je simpler der Algorythmus desto besser, es soll nacher ein Benchmark für bestimmte Prozessoren werden, also fertige Programme bringen mir nichts. Ob delphi oder anderes ist mir egal, wird nacher eher nicht in Delphi gemacht werden können.
Also, wer kann was bieten? Was ist mit Primzahlentests? Sieb des Archimedes z.b. geht extrem auf den Ram, also nichts für mich!

Danke für ein Paar hilfen!
TO
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Benchmark Algorythmus

  Alt 6. Jan 2005, 23:22
Das hier müsste extrem auf die CPU, aber kaum aufs RAM gehen:
Delphi-Quellcode:
var i: Integer;
begin
  i := 10;
  Randomize;
  while SomeCondition do
    i := (i + Random(i) * Random(i)) mod High(Integer);
end;
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#3

Re: Benchmark Algorythmus

  Alt 6. Jan 2005, 23:25
oki, ich muß noch folgendes sagen: es sollten auf Zeit reproduzierbare ergebnisse sein, so dass ich sagen kann, CPU 1 bekommt das in x sekunden hin und CPU 2 in y sekunden. Ich geh doch recht in der Annahme, dass sobald Zufall ins Spiel kommt die Sache und damit auch die Ergebnisse recht zufällig werden und meinen Anforderungen nicht entsprechen?
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: Benchmark Algorythmus

  Alt 6. Jan 2005, 23:29
Der Zufallsanteil darin ist nur gut, um die CPU auszulasten, sie braucht trotzdem ungefähr gleich lange für N Iterationen dieser Schleife. Für Benchmarks, die Zeit messen, nimmst du eben eine for-Schleife mit z.B. 10.000.000 Iterationen und misst die Zeit-
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#5

Re: Benchmark Algorythmus

  Alt 6. Jan 2005, 23:43
Damm probiers mal mit Fibonacci Müsste irgendwo inner Math.pas drinstehen, das geht auch ganzschön auf die CPU!
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#6

Re: Benchmark Algorythmus

  Alt 7. Jan 2005, 00:22
fibonacci ist nicht geeignet, weil die zahlen zu schnell zu groß werden, mir stehen auf den zu verwendeten Prozessoren nur max. 32bit Interger zur verfügung. Trotzdem danke, aber hat noch jemand noch gute Vorschläge?
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#7

Re: Benchmark Algorythmus

  Alt 8. Jan 2005, 00:23
*Push* niemand ne Idee, also eine ohne Random und wo man mit 32 bit auskommt?
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#8

Re: Benchmark Algorythmus

  Alt 8. Jan 2005, 10:05
Was mir gerade so einfällt ist der BubbleSort. Aber so Rechenlastig ist der nun auch wieder nicht...
Alexander
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#9

Re: Benchmark Algorythmus

  Alt 8. Jan 2005, 10:23
Was hast du denn gegen Dax' Vorschlag?
Wenn auf der Zielplattform ein Zufallsgenerator zur Verfügung steht, der die Zufallszahlen synchron erzeugen kann (also für jede Zahl die gleiche Zeit braucht, z.B. einen Takt, weil er sie aus einem Pool holt), dann ist gegen sowas eigentlich nichts einzuwenden. Du rechnest ja nur mit den Random-Werten, und eine Integer-Berechnung benötigt immer gleich viele Taktzyklen, egal ob von den 32bit nun sieben oder siebzehn auf 1 gesetzt sind.

Wo wir aber auch schon bei der nächsten Frage sind: Was für eine Architektur isses denn? Du fragst uns nach einem Rechenlastigen Benchmark für eine spezialisierte Architektur, verrätst aber nicht, welche es ist. Wenn die Architektur z.B. massiv viele Pipelines einsetzt, sollte man versuchen alle Pipelines um jeden Preis auszulasten und viele Sprünge zu vermeiden, damit nicht jedesmal die Pipelines neu befüttert werden müssen. Hat der Prozessor nur eine Pipeline, spielt das natürlich keine Rolle und man kann sich auch auf Schleifen konzentrieren, sofern die Architektur keine geisteskranke Sprungvorhersage hat. Hat sie eine, muss man sich nach ihr richten. Und wie schnell ist das Speicherinterface im Vergleich zum Prozessor? Darf man den Speicher ruhig für Daten benutzen, oder ist man auf die zahl der Register beschränkt? Wie sieht's mit synchronem Cache aus? Wie groß ist er? Gibt's überhaupt welchen, oder gibt's nur langsamer getakteten Cache? Wieviel langsamer getaktet ist der?

U.u. müsste man direkt Assembler-Beispiele nehmen, denn man weiß sonst nie, welche Variablen der Compiler auf den Stack legt, und wie groß der Stack sein darf, damit er in den schnelleren Cache ausgelagert werden kann.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#10

Re: Benchmark Algorythmus

  Alt 8. Jan 2005, 10:58
Zitat von theomega:
*Push* niemand ne Idee, also eine ohne Random und wo man mit 32 bit auskommt?
schreib dir doch eine eigene berechnungsmethode!

oder

ping doch mal hagen [negaH] an vielleicht hat der eine Idee!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 22:18 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