VB2008 Anwendung hat nur 50% CPU Auslastung

Gast #1716740
Lesenswert?

Hallo Leute.

Habe eine VB2008 Anwendung geschrieben, die das volle Potential einer 
CPU ausschöfen soll. Quasi ein Burnin Program :-)
Bei den Einkern Prozessoren in der Firma bekomme ich z.B. 9000 Treffer 
pro Sekunde. Daheim (2*2.1 Ghz) bekomme ich nur 6000 Treffer.
Mir ist aufgefallen, das nur ein Prozessorkern verwendet wird.
Kann man das ändern, damit die "volle" Leistung ausgeschöpft wird?

Habe das Programm mal angehangen. Würde mich interesieren, wieviel Hits 
ihr zusammenbringt.
Angehängte Dateien:
Gast #1716761
Lesenswert?

Den source habe ich in der Firma. War nur ein kleines Programm in der 
Mittagspause. Es wird einfach von 0 bis Z gezählt. Und das 32 stellig.
32 stellig darum, weil mir sonst unterstellt wird ich würde irgendein 
Passwort knacken versuchen. Bei 32 Stellen durchaus Aussichtlos.
Gast #1716771
Lesenswert?

Habe den source auf die schnelle nachgeschrieben. Aber nur bis zur 12 
Stelle,

       break = False
        Do
            If Increase(Stelle1) = True Then
                Stelle1.Text = "0"
                If Increase(Stelle2) = True Then
                    Stelle2.Text = "0"
                    If Increase(Stelle3) = True Then
                        Stelle3.Text = "0"
                        If Increase(Stelle4) = True Then
                            Stelle4.Text = "0"
                            If Increase(Stelle5) = True Then
                                Stelle5.Text = "0"
                                If Increase(Stelle6) = True Then
                                    Stelle7.Text = "0"
                                    If Increase(Stelle8) = True Then
                                        Stelle9.Text = "0"
                                        If Increase(Stelle10) = True 
Then
                                            Stelle10.Text = "0"
                                            If Increase(Stelle11) = True 
Then
                                                Stelle11.Text = "0"
                                                If Increase(Stelle12) = 
True _
                                                  Then
                                                    Exit Sub
                                                End If
                                            End If
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
            My.Application.DoEvents()
        Loop Until break = True


Increase = False
        Dim ascii As Byte
        ascii = Asc(Speicher.Text)
        If ascii = 57 Then 'Zahlen 9 erreicht
            ascii = 64 'eine Stelle vor A wählen
        End If
        If ascii = 90 Then 'Z ereicht
            Increase = True
            Exit Function
        End If
        ascii = ascii + 1
        Speicher.Text = Chr(ascii)


zufrieden jezt?
Gast #1716866
Lesenswert?

Ich kann leider kein VB aber im Netz findest du sicher einige Beispiele 
wie man Threads startet. Threads sind dann normalerweise auch nichts 
anderes als Funktionen die eben spezielle als Thread aufgerufen werden. 
Wenn du dann in diese Funktionen deine Loops rein schreibst hast du dein 
Ziel erreicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren