Сортировка принимает O (n log n) в серийном случае. Если у нас есть O (n) процессоры, мы будем надеяться на линейное ускорение. O (log n) существуют параллельные алгоритмы, но они имеют очень высокую константу. Они также не применимы к товарному оборудованию, у которого нет нигде рядом с процессорами O (n). С p-процессорами разумные алгоритмы должны принимать время O (n/p log n).
В серийном случае быстрый сортировка имеет среднюю среднюю сложность выполнения. Алгоритм параллельной быстрой сортировки легко реализовать (см. здесь и здесь). Однако это не очень хорошо работает, так как самый первый шаг - разбиение всей коллекции на один ядро. Я нашел информацию о многих параллельных алгоритмах сортировки, но до сих пор я не видел ничего, указывающего на явного победителя.
Я ищу сортировку списков от 1 миллиона до 100 миллионов элементов на языке JVM, работающих на 8 - 32 ядрах.