Ich führe ein Softwarestück aus, das sehr parallel ist. Es gibt etwa 400 Befehle, die ich ausführen muss, die überhaupt nicht voneinander abhängen, also gabel ich sie einfach ab und hoffe, dass mehr CPUs bedeuten, dass mehr Prozesse pro Zeiteinheit ausgeführt werden.
Code:
foreach cmd ($CMD_LIST)
$cmd & # gabel es ab
end
Sehr einfach. Hier sind meine Testergebnisse:
Auf 1 CPU dauert dies 1006 Sekunden oder 16 Minuten 46 Sekunden.
Mit 10 CPUs dauerte dies 600 Sekunden oder 10 Minuten!
Warum würde die benötigte Zeit sich nicht (ungefähr) durch 10 teilen? Ich fühle mich hier betrogen =(
Bearbeitung – natürlich bin ich bereit, zusätzliche Details bereitzustellen, die Sie wissen möchten, bin mir jedoch nicht sicher, was relevant ist, weil ich in einfachsten Begriffen das hier mache.