title image


Smiley D5: zwei Threads langsamer als einer?
Hallo,



ich habe ein kleines Tool geschrieben was eine große Anzahl von Berechnungen durchführen soll. Anfangs habe ich das ohne Threads gelöst. Da ich einen PIV mit Hyperthreading besitze dachte ich mir dass ich die Performance mit mehreren Threads erhöhen kann. Also habe ich die Berechungen erstmal in einen extra Thread ausgelagert. Das brachte einen Geschwindigkeitsvorteil von ca. 1 Mio Berechnungen pro Sekunde (7.5 Mio/s gesamt). Verteile ich die Berechnungen aber auf zwei Threads komme ich nur noch auf insgesamt 3.5 Mio Berechnungen/s. Syncronisiert wird nur eine globale Zählvariable, die aber nur aller 200000 Berechnungen über CriticalSections.



Woran könnte es liegen, dass zwei Threads in der Summe langsamer sind als einer?



Das ist mein erster Versuch mit Threads, daher bin ich auf dem Gebiet nicht sehr bewandert. Aber vielleicht habe ich ja auch nur einen Denkfehler.



Vielen Dank schonmal.



Grüße

Thinner








Das Gewissen verhindert nicht die Sünde. Es verdirbt nur die Freude daran.



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: