Foncemark 1.0

Fonce

Vice Admiral Special
Mitglied seit
03.08.2005
Beiträge
620
Renomée
1
  • SIMAP Race
So, es ist nun endlich geschafft!
Die erste Version meines Benchmarks ist fertiggestellt!
Es würde mich sehr freuen wenn es zahlreich getestet wird und Bugs gemeldet werden oder einfach nur Verbesserungsvorschläge gemacht werden.

Die Datei results.dat muss sich im selben oder wie die .exe befinden wenn man die Ergebnisse speichern will.

PS: Das ganze enthält schon Compiler(MS Visual Studio 2003) seitige Optimierungen für SSE/SSE2 und außerdem ist lastet es auch QuadCores voll aus

EDIT:

So Version 1.01 des Foncemark ist nun online

-CPU und User Erkennung implementiert
-allgemeine Optimierungen des Codes

--->Download<---
 
Zuletzt bearbeitet:
Mit meinem System ("mein System") gibt es folgende Ergebnisse:
(Explorer offen, Winamp & Firefox offen)

Pi: 2700
INT: 2842
Total: 5542
 
Pi: 1546
INT: 1768
Total: 3314

E6300 @ 7x376=2632mhz
RAM: 2x1024MB MDT DDR2-800 @ DDR2-752 CL5 2tcmd
 
Pi: 4690
INT: 6573
Total: 11263

AMD Phenom 9600 BE @2400 MHz, 2x 1 GB DDR2-800 CL5 2T CMD
 
Zuletzt bearbeitet:
Läuft bei mir grottenschlecht!

PI: 1339
INT: 1522
Total: 2861

C2D 4500@3,22Ghz und 2048Mb Ram

MFG
 
Ja, hab mich schon bei dem einen C2D darüber gewundert wie schlecht der abschneidet. Siehe zum Vergleich Neros und meine Ergebnisse. Werden die 1.01 mal ausprobieren.
 
Ja, hab mich schon bei dem einen C2D darüber gewundert wie schlecht der abschneidet. Siehe zum Vergleich Neros und meine Ergebnisse. Werden die 1.01 mal ausprobieren.
Die 1.01 bringt bei mir ~50% weniger Punkte.
 
ja, hatte an dem Test ne Kleinigkeit geändert, es aber nun wieder rückgängig gemacht

die Version ist oben schon verlinkt;)
 
Die 1.01 bringt bei mir ~50% weniger Punkte.

Hehe, ja Fonce hat ja schon geschrieben es gäbe nun eine CPU-Erkennung und der C2D ist von Intel ... ;D ;)


@ Fonce: Was genau macht denn der Bench, das Ergebnis ist ja schon verwunderlich. Meine CPU taktet keine 200 MHz mehr als die von gruenmuckel liefert aber 2000 Punkte mehr.
Wurde hier speziell in Richtung AMD optimiert/programmiert?

Denke ich probiere die gefixte Version 1.01 morgen mal aus.
 
nein es wurde wirklich rein garnichts auf K8 oder K10 optimiert.
Die Test sind einmal eine Berechnung von Pi auf 15 Nachkommastellen genau welche 3mio mal durchgeführt wird und dann eine Kombination aus Addition, Subtraktion und Logischen Verknüpfungen welche ebenfalls 3mio mal durchgeführt wird.

Die durchgeführten Test scheinen der K8 und K10 Architektur halt sehr zu liegen,

Die einzigen Optimierungen sind Compiler(Visual Studio 2003) seitig für SSE/SSE2.
 
Version 1.01

Pi: 4660
INT: 6535
Total: 11195

AMD Phenom 9600 BE @2400 MHz

Wenn der Benchmark SSE2 verwendet, ist es kein Wunder, dass der Phenom hier gut läuft, betraf doch ein der Hauptverbesserungen ggü. dem K8 die Anbindung der SSE-Register mit voller 128-Bit Breite.

Edit: ich hab mir mal den Quellcode der Benchmarks angesehen. Kritisch bei diesen Teilen ist, dass sie allesamt aus sehr kurzen Schleifen bestehen. Hier hat der Compiler auch kaum Möglichkeiten die Instruktionen zu "strecken", damit voneinander abhängige Ergebnisse möglichst weit auseinander liegen. Daher dürften hier CPU-Architekturen mit kurzer Pipeline so richtig abgehen. Der K6 hätte seine wahre Freude damit ;D Zudem ist die verarbeitete Datenmenge winzig. Das heißt, Features wie L2- oder gar L3-Cache bzw. die Güte des Memory-Controllers fallen hier kaum ins Gewicht.

Ich weiß, was es für einen Spaß macht solche Benchmarks zu programmieren und zu optimieren. Vor ziemlich genau 10 Jahren war ich auch dieser Sucht verfallen *chatt* Aber für einen echten Index fehlen noch Berechnungen, die anderer Natur sind, sprich Iterationen mit längeren Codes und speicherlastige Tests :)
 
Er läuft auf den K8 auch schneller als auf den Core2

das ein K10 bei gleichem Takt schneller ist als ein K8 liegt daran, dass das Programm die Berechnung in 4 Threads durchführt;)
 
Er läuft auf den K8 auch schneller als auf den Core2
Ja, da gefallen dem C2D wohl die kurzen Schleifen nicht ;) Siehe mein letztes Posting.
das ein K10 bei gleichem Takt schneller ist als ein K8 liegt daran, dass das Programm die Berechnung in 4 Threads durchführt;)
Naja, nicht ganz. Dann dürfte ja der Phenom mit 2,4 GHz nur maximal doppelt so schnell sein, wie ein Athlon 64 X2 mit 2,4 GHz. Der Phenom ist aber mehr als doppelt so schnell, wie ein X2 mit 2,8 GHz (siehe Nightshifts System) :o
 
selbst bei dengleichen Einstellungen variieren die Ergebnisse stark.
das sollte irgendwie überarbeitet werden. :(

awpdi1vvymncprqf8.jpg
 
@Fonce:
Find ich gut, dass Du die Sourcen mit beigelegt hast. *great*
Ich habe auch gleich Anmerkungen: ;D

1.) Ich würde darauf verzichten, die Benchmarkroutinen als Klasse zu verfassen, sondern als C-Routinen, sodass keine Zeit zum Anlegen und Abbauen der Objekte (was immer unterschiedlich lange dauert) verbraucht wird. Gut, das wird jetzt nicht die Welt sein, aber Kleinvieh macht auch Mist. So wird eben wirklich nur die Zeit für den Benchmark gemessen.

2.) Die Threads brauchst Du nicht jeweils vier mal. Es reichen ein Pi- und ein Int-Thread, welche Du je 4 oder auch n-mal startest (Stichwort Instanzen). ;)

3.) Erhöhung der Threadpriority auf THREAD_PRIORITY_ABOVE_NORMAL dürfte dafür sorgen, dass die Ergenisse nicht soweit auseinanderlaufen.


Ich habe alle 3 Maßnahmen mal durchgeführt und die Ergebnisse

Original, erster Start:
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1075 1050 2125
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1065 1050 2115
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1074 1035 2109

Original, zweiter Start:
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1115 1041 2156
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1100 1043 2143
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1113 1044 2157

Original, dritter Start:
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1116 1044 2160
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1117 1019 2136


Mit den Änderungen erster Start:
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1168 1091 2259
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1165 1083 2248
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1167 1079 2246

Mit den Änderungen zweiter Start:
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1165 1077 2242
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1166 1078 2244
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1169 1078 2247
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1168 1088 2256
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1168 1103 2271

Mit den Änderungen dritter Start:
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1165 1088 2253
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1170 1068 2238
AMD_Athlon64_@_2420_MHz !!UNKNOWN!! 1167 1072 2239

Etwas gleichmäßiger, wohl durch Maßnahme 3)
Muss mal nen schnelleren Rechner nehmen. ;)
 
3.) Erhöhung der Threadpriority auf THREAD_PRIORITY_ABOVE_NORMAL dürfte dafür sorgen, dass die Ergenisse nicht soweit auseinanderlaufen.


habs jetzt mal manuel auf "hoch" im taskmanager gesetzt. hab jetzt durchgehend über 6110 punkte und die ergebnisse variiren nur noch um max. 150 pro run. :)
 
Zuletzt bearbeitet:
So hab jetzt nur noch zwei Thread Funktionen(so wollte es am anfang irgedwie nit laufen und nun tut es das aufmal*lol*) und hab die Priorität der Thread erhöht.
Das hat wirklich leicht stabilere Ergebnisse gebracht.
Außerdem habe ich mal probiert die Tests direkt in die Thread Funktion zu schreiben, was aber Performance mäßig bei mir sogar noch schlechter war, als mit den Klassen.:]
 
Mein System aus der Signatur schafft da folgendes:

Pi: 1090
Int: 1036
Total: 2126
 
Mal mit dem Opteron 170:

Original unter XP32
AMD_Athlon64_X2_@_2925_MHz !!UNKNOWN!! 2719 2943 5662
AMD_Athlon64_X2_@_2925_MHz !!UNKNOWN!! 2716 2930 5646
AMD_Athlon64_X2_@_2925_MHz !!UNKNOWN!! 2717 2798 5515

Meine Übersetzung unter XP32
AMD_Athlon64_X2_@_2925_MHz !!UNKNOWN!! 2749 3009 5758
AMD_Athlon64_X2_@_2925_MHz !!UNKNOWN!! 2735 2995 5730
AMD_Athlon64_X2_@_2925_MHz !!UNKNOWN!! 2753 2994 5747

Original unter XP64
AMD_Athlon64_X2_@_-145008056_MHz !!UNKNOWN!! 2735 3044 5779
AMD_Athlon64_X2_@_-145008056_MHz !!UNKNOWN!! 2734 3038 5772
AMD_Athlon64_X2_@_-145008056_MHz !!UNKNOWN!! 2723 3049 5772

Meine Übersetzung unter XP64
AMD_Athlon64_X2_@_4254943_MHz !!UNKNOWN!! 2762 3059 5821
AMD_Athlon64_X2_@_4254943_MHz !!UNKNOWN!! 2767 3065 5832
AMD_Athlon64_X2_@_4254943_MHz !!UNKNOWN!! 2747 3055 5802


Muss man vielleicht doch noch die nächste Priostufe nehmen - oder so hoch, bis man nichts mehr tun kann, während der Bench läuft. ;)
 
von mir auch mal ein paar werte:

AMD Opteron 185@ 2900 MHz
2x 512 MB Corsair XMS CMX512-3200C2

pi: 2797
int: 2834
total: 5631
 
@Seance

leider war, das leben ist ein auf und ab....man(n) kan nicht immer gewinnen....aber gut mit schwimmen.

bin ja mal gespannt was ein höher getakter x4 bringt.

gruss thorshammer


wollte meine überraschung ausdrücken :) und kein "haha du kackst ab starten", hoffe das ist richtig rübergekommen. Eigentlich wird ja in dem Großteil der Benches der Barcelona nass gemacht und ich fand es überraschend, das ein viel höher getakteter Intel Quad hier verliert.
 
Zurück
Oben Unten