CPU Bench *nicht löschen* Verfasst am: 20.04.2008, 18:40
Hab mich mal an nem Benchmark-Tool versucht. Nur leider funzt das noch nicht so ganz wie ich will. xD
Jetzt brauch ich eure Hilfe um die Ursache das Problems zu finden.
Also, das Problem ist, dass sich die Ergebnisse manchmal sehr stark Unterscheiden, aber aber theoretisch gar nicht sein kann.
Sagt mir mal bitte wie stark eure Ergenisse variieren, und gebt mal euren Prozessor an. ^^ _________________ http://sollniss.1x.to/
Teyhouse_ Poster
Anmeldedatum: 11.02.2007 Beiträge: 100
Verfasst am: 21.04.2008, 11:57
Zitat:
Jetzt brauch ich eure Hilfe um die Ursache das Problems zu finden.
mh joaaa ne ich sach ma so ganz spontan aus dem Bauch heraus: Wird nix wenn du net ne nbischne mehr ins Detail gehst und vielleicht auch mal ein paar Codeblöcke postest? ^^ _________________
JayKay_ Newbie
Anmeldedatum: 09.04.2008 Beiträge: 5
Verfasst am: 21.04.2008, 11:59
Amd x2 6000+:
687369427
410805603 _________________
Bahamut_ « Moderator »
Anmeldedatum: 12.12.2006 Beiträge: 250
Verfasst am: 21.04.2008, 12:13
Pentium 4 3,0 Ghz, 1 Gig Ram & Win XP SP2:
Zitat:
Mit einige Programmen im Tray:
1005966980
854770057
1013488969
884390941
793862005
831534519
977588565
1014205084
Zitat:
Ohne Hintergrundprogramme:
1087210526
1104343949
1105133870
1096455083
1102930053
Denk mal ne Multikern-Cpu schneidet bei dem Prog schlechter ab als ne Singlecore-Cpu, weil dein Prog warscheinlich nicht multithreading-fähig ist.
Wobei es ohne Hintergrundprogramme sogar relativ genau war.
Achja Start About Beenden und Kopieren ist eher seltsames Sprachenmischmasch.
Also bei mir lautete das Ergebnis 15818219774, es liefen aber noch Programme im Hintergrund.
Ich habe einen Intel Core 2 Duo mit 2,66 GHZ.
Was mir positiv aufgefallen ist, war das er beide Kerne und nicht nur einen ausgelastet hat. Das Programm arbeitet also mit mehreren Threads.
Was mich gestört hat war, dass die Prozessor Belastung nach dem Test nicht wieder runter gegangen ist sondern erst eine Weile nachdem das Programm beendet war.
Edit: weitere Ergebnisse:
Code:
15818219774
Neustart des Programms
5723921984
25063992964
29938582750
37145303545
40243742678
43326677434
45300718908
47846191516
49656582401
51920359231
Neustart des Programms
5693387109
17859351353
Die Tests waren alle mit Programmen im Hintergrund.
Mir ist dabei folgendes aufgefallen: Das Ergebnis wird bei jedem mal besser aber das Programm reagiert nach jedem weiteren Test noch schlechter (braucht länger die Meldung anzuzeigen).
Hmz.. danke erstmal an euch.
Also, das Prog nutzt Multithread, um genau zu sein 4 Threads (Mein Quad CPU hat 100% Auslastung)
Aber dass die Ergebnisse sich so stark unterscheiden versteh ich net.
Um zu erkären wie das Prog. läuft,
es gibt einen Timer:
Code:
Private Sub timZeit_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timZeit.Tick
booStop = True
timZeit.Enabled = False
End Sub
Dieser stellt nach 10 Sekunden booStop auf True, wenn dies geschieht, werden die Prozeduren gestoppt:
Code:
Private Sub ProzedurA()
Do
a = a + 1
Loop Until booStop = True
End Sub
Private Sub ProzedurB()
Do
b = b + 1
Loop Until booStop = True
End Sub
'usw. bis D
Diese Prozeduren laufen jeweils in einem eigenen Thread:
Code:
Dim ThreadA As New System.Threading.Thread(AddressOf ProzedurA)
Dim ThreadB As New System.Threading.Thread(AddressOf ProzedurB)
Dim ThreadC As New System.Threading.Thread(AddressOf ProzedurC)
Dim ThreadD As New System.Threading.Thread(AddressOf ProzedurD)
Wenn die Threads gestoppt sind werden die Zahlen addiert:
Code:
Do While booStop = False
Application.DoEvents()
If booStop = True Then labErgebnis.Text = (a + b + c + d)
Loop
Ich glaube, dass sollte das Prog. genügend erklären. Kann mir evtl. jemand sagen warum sich die Ergebnisse SO STARK unterscheiden? _________________ http://sollniss.1x.to/
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 21.04.2008, 13:27
Wahrscheinlich ist der Timer bei VB.Net genauso wie in VB6 nicht wirklich ganz exakt und wird vielleicht auch behindert durch die volle Auslastung der CPU. _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
sollniss_ Coder
Anmeldedatum: 08.09.2007 Beiträge: 212
Verfasst am: 21.04.2008, 13:30
Hm, daran hab ich noch gar nicht gedacht. Hättest du nen Lösungsvorschlag? _________________ http://sollniss.1x.to/
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 21.04.2008, 14:14
Ne sorry.
Ist aber auch nur ne Vermutung. Keine Ahnung ob allein dadurch so große Unterschiede entstehen.
Und eigentlich sollte ja das DoEvents in der Schleife das mögliche Problem mit der Auslastung verhindern. _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
dcm_ Newbie
Anmeldedatum: 24.02.2008 Beiträge: 15
Verfasst am: 21.04.2008, 15:35
Du könntest es umkehrern - nur eine bestimmte anzahl an loops, und dann die zeit messen...
sollniss_ Coder
Anmeldedatum: 08.09.2007 Beiträge: 212
Verfasst am: 21.04.2008, 16:55
Hab mal soweit alles gefixt. Schaut mal ob die Werte immernoch so stark abweichen.
Anmeldedatum: 08.12.2006 Beiträge: 354 Wohnort: Berlin
Verfasst am: 21.04.2008, 16:58
Sollnis du darfst keine Leerzeichen ind er URL haben, zb aus [url]www.bla.de/tolle datei.exe[/url] musst du [url]www.bla.de/tolle%20datei.exe[/url] machen.
Eine Liste mit Durchschnittswerten anderer CPU's wäre ganz gut darin.
Und evt. eine grafische Darstellung der Leistung. Bzw. ein Vergleich mit anderen CPU's.
mfg _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
sollniss_ Coder
Anmeldedatum: 08.09.2007 Beiträge: 212
Verfasst am: 25.04.2008, 18:34
@kevkevev
ja ich habs geändert, hab jetz doevents drin also alle anwendungen beenden (am besten um abgesicherten modus testen) damit 100% erreicht werden können. wenn ich alles aus hab komm ich auf 480k und wenn ich die standartprogs laufen hab 440k-460k
@ZiG
dazu bräuchte ich die werte der anderen cpu's und nen grafiktut^^ _________________ http://sollniss.1x.to/
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 25.04.2008, 18:45
Für VB.Net gibts sicher iwelche Statistik Controls wie z.B. das "MS Chart Control". _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
sollniss_ Coder
Anmeldedatum: 08.09.2007 Beiträge: 212
Verfasst am: 25.04.2008, 19:20
leider hat die Googlesuche herrausgestellt das es keine Chart Control in .NET gibt, das COM Objekt will ich auch nicht benutzen und ne extra .dll will ich dafür auch nicht einbauen. -.-' _________________ http://sollniss.1x.to/