В сортировке Java опять нашли баг. На этот раз, правда, затронут только parallelSort().
Нарушается стабильность сортировки: контракт sort() и parallelSort() гарантирует, что если элементы равны, то они сохраняют свой изначальный порядок. Но при некоторых условиях parallelSort() равные элементы перемешиваются.
Баг обнаружил один из создателей Dual-Pivot Quicksort в OpenJDK Владимир Ярославский. Он привёл пример кода, ломающего параллельную сортировку.
Update: на самом деле баг старый (1, 2), просто ни у кого не дошли руки его починить 🤷♂️
Нарушается стабильность сортировки: контракт sort() и parallelSort() гарантирует, что если элементы равны, то они сохраняют свой изначальный порядок. Но при некоторых условиях parallelSort() равные элементы перемешиваются.
Баг обнаружил один из создателей Dual-Pivot Quicksort в OpenJDK Владимир Ярославский. Он привёл пример кода, ломающего параллельную сортировку.
Update: на самом деле баг старый (1, 2), просто ни у кого не дошли руки его починить 🤷♂️