Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Projekte
Autor
Nachricht
sollniss_
Coder
Coder

Anmeldedatum: 08.09.2007
Beiträge: 212

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.

Bilder:




Download
http://mitglied.lycos.de/sollniss/CPU%20Bench.exe

Sagt mir mal bitte wie stark eure Ergenisse variieren, und gebt mal euren Prozessor an. ^^
_________________
http://sollniss.1x.to/

 
Teyhouse_
Poster
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
Newbie

Anmeldedatum: 09.04.2008
Beiträge: 5


Verfasst am: 21.04.2008, 11:59

Amd x2 6000+:

687369427
410805603
_________________
 
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



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.

Lieber Start, About, Exit und Copy
_________________
VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/
 
The-God-of-all_
Poster
Poster

Anmeldedatum: 20.05.2007
Beiträge: 170
Wohnort: App.Path


Verfasst am: 21.04.2008, 12:17

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).
 
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 12.12.2006
Beiträge: 250


Verfasst am: 21.04.2008, 13:21

Mh mich hat es gewundert, dass Jay-Kay´s Zahlen so klein ausfallen, deshalb dacht ich, dass es etwas mit den Kernen zu tuen hat.
_________________
VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/
 
sollniss_
Coder
Coder

Anmeldedatum: 08.09.2007
Beiträge: 212


Verfasst am: 21.04.2008, 13:22

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
Ü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
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
Ü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
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
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.



http://sollniss.kilu.de/misc/Tools/CPU%20Bench/CPU%20Bench%201.0%20Beta.exe

Intel Core 2 Quad Q6600 @2,4ghz
Zitat:

Loop 1: 477278
Loop 2: 484807
Loop 3: 476271
Loop 4: 474240
Loop 5: 473225
Loop 6: 485880
Loop 7: 484643
Loop 8: 492749
Loop 9: 476504
Loop 10: 480721

Durchschnitt: 480632

_________________
http://sollniss.1x.to/

 
Viktor
« Webmaster »<b><font color=red>« Webmaster »</fo



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.
 
sollniss_
Coder
Coder

Anmeldedatum: 08.09.2007
Beiträge: 212


Verfasst am: 21.04.2008, 17:00

kk werds mir merken^^
_________________
http://sollniss.1x.to/

 
^^kev####_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 07.06.2007
Beiträge: 28
Wohnort: Haan


Verfasst am: 25.04.2008, 18:13

Hab auch nen C2Q Q6600

433090
415186
428840

Aber meine CPU Auslastung war nur auf 83-90% ôo
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 25.04.2008, 18:30

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
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
Ü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
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/

 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Projekte

Tags: cpu

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Visual Basic Download ? 1741 03.05.2011, 07:38
Keine neuen Beiträge Api Download in Prozent + Kb anzeige + Progrezzbar 1345 21.10.2007, 13:03
Keine neuen Beiträge Download 1358 30.08.2007, 15:45
Keine neuen Beiträge Download mit Internet Explorer Object 923 18.08.2008, 19:00
Keine neuen Beiträge Visual Basic 6 download 3699 26.05.2007, 11:51
 



[ Time: 0.5867s ][ Queries: 155 (0.0222s) ][ GZIP on - Debug on ]