일련의 경우 정렬은 O (n log n)를 사용합니다. 만약 우리가 O (n) 프로세서를 가지고 있다면 우리는 선형 속도 향상을 원할 것입니다. O (log n) 병렬 알고리즘이 존재하지만 상수가 매우 높습니다. 또한 O (n) 프로세서 근처에없는 상용 하드웨어에는 적용되지 않습니다. p 프로세서의 경우 합리적인 알고리즘은 O (n / p log n) 시간이 걸립니다.
일련의 경우 빠른 정렬은 평균적으로 런타임 복잡성이 가장 좋습니다. 병렬 빠른 정렬 알고리즘은 구현하기 쉽습니다 ( here 및 here 참조 ). 그러나 첫 번째 단계는 전체 컬렉션을 단일 코어로 분할하는 것이므로 성능이 좋지 않습니다. 많은 병렬 정렬 알고리즘에 대한 정보를 찾았지만 지금까지 명확한 승자를 가리키는 것은 없습니다.
8 ~ 32 개의 코어에서 실행되는 JVM 언어로 1 ~ 1 억 개의 요소 목록을 정렬하려고합니다.