The runtime of Quicksort can be significantly reduced if multiple threads running on multiple cores can be used. With just two cores, just partition an array into two halves and let another thread sort the second half.
The problem is that with many cores, say eight, the initial partition of the array takes a very significant amount of time.
Does anyone have an idea how the partitioning of an array could be made faster if multiple cores running multiple threads are available?