Hallo zusammen!
Ich bastel momentan an einem Programm, dass ein bißchen numerische Mathematik (Integration, Optimierung) durchführen soll. Nun wollte ich gerne Threads benutzen, um die Geschwindigkeit zu steigern, da z.B. bei den Integrationsalgorithmen zwei Schritte parallel ausgeführt werden könnten. Ich habe gestern jedoch festgestellt, dass mein Programm langsamer wurde (auf einem Dual Core Rechner). Kann es sein, dass sich Threads in diesem Fall erst ab einer gewissen "Arbeitsgröße" lohnen? Ich habe den Eindruck, dass das Anlegen und Beenden der Threads länger dauert, als wenn ich einfach alle Rechenoperationen nacheinander durchführen lasse. Kann das sein oder liegt hier definitiv ein Programmierfehler von mir vor? Ich habe die threads einfach mit start() gestartet und mit join() die Ergebnisse eingesammelt.
Viele Grüße,
Arne
Ich bastel momentan an einem Programm, dass ein bißchen numerische Mathematik (Integration, Optimierung) durchführen soll. Nun wollte ich gerne Threads benutzen, um die Geschwindigkeit zu steigern, da z.B. bei den Integrationsalgorithmen zwei Schritte parallel ausgeführt werden könnten. Ich habe gestern jedoch festgestellt, dass mein Programm langsamer wurde (auf einem Dual Core Rechner). Kann es sein, dass sich Threads in diesem Fall erst ab einer gewissen "Arbeitsgröße" lohnen? Ich habe den Eindruck, dass das Anlegen und Beenden der Threads länger dauert, als wenn ich einfach alle Rechenoperationen nacheinander durchführen lasse. Kann das sein oder liegt hier definitiv ein Programmierfehler von mir vor? Ich habe die threads einfach mit start() gestartet und mit join() die Ergebnisse eingesammelt.
Viele Grüße,
Arne