Penyortiran mengambil O (n log n) dalam case serial. Jika kita memiliki prosesor O (n), kita akan berharap untuk peningkatan linear. O (log n) algoritma paralel ada tetapi mereka memiliki konstanta yang sangat tinggi. Mereka juga tidak berlaku pada perangkat keras komoditas yang tidak memiliki prosesor O (n). Dengan prosesor p, algoritma yang masuk akal seharusnya membutuhkan waktu O (n / p log n).
Dalam kasus serial, pengurutan cepat memiliki kompleksitas runtime terbaik rata-rata. Algoritma pengurutan cepat paralel mudah diterapkan (lihat di sini dan di sini ). Namun itu tidak berfungsi dengan baik karena langkah pertama adalah mempartisi seluruh koleksi pada satu inti. Saya telah menemukan informasi tentang banyak algoritma pengurutan paralel tetapi sejauh ini saya belum melihat apa pun yang menunjuk pada pemenang yang jelas.
Saya mencari untuk mengurutkan daftar 1 juta hingga 100 juta elemen dalam bahasa JVM yang berjalan pada 8 hingga 32 core.