Erstaunlicherweise läuft dieser Algorithmus bei mehr als 2 Prozessoren bzw. Prozessorkernen nicht nennenswert schneller, also scheint dann schon die Ausgabe "der Flaschenhals" zu sein.
Wenn man es - wie Du in diesem Fall - darauf anlegt, möglichst viele Threads zu erzeugen, ist das in meinen Augen auch kein Wunder. Du stresst Dein Betriebssystem ganz erheblich, zwischen all den Threads umzuschalten. Bei dieser Anzahl an Threads dürfte der Verwaltungsaufwand höher sein als die produktive Arbeit, die von den Threads verrichtet wird.
Ich finde das Beispiel durchaus spannend - aber nicht, um die Performance eines Algorithmus zu ermitteln - diese Messung machst Du durch die große Anzahl an Threads zunichte.
Daniel R. Wolf
mit Grüßen aus Hamburg