Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Stack und Multithreading

  Alt 11. Okt 2014, 22:17
nicht mehr Threads erzeugen als der Prozessor an logischen Core hat!
Da jeder Thread mit voller CPU-Leistung läuft (Quicksort hat keine IO-Operationen) würden mehr Threads als Cores nur bremsen.

Ich würde es für den Anfang mal mit einer 2-Thread-Lösung für Quicksort versuchen.
Zu Beginn einmal die Partition-Funktion aus führen und dann jeweils einen Thread für jede Hälfte des zu sortierenden Arrays starten.
Jeder der beiden Threads verwendet dann rekursives Quicksort.
Dabei würde ich bei der Partitionierung beim ersten Mal die Bei Google suchenmedian of three Methode verwenden, damit die Daten zwischen den beiden Threads möglicht gut aufgeteilt werden.

Wenn man perfekt machen möchte braucht man einen Threadpool und einen FIFO der von allen Threads benützt wird.
fork me on Github
  Mit Zitat antworten Zitat