Вообще-то сложность самого этого алгоритма константа. Так что теоретически, если данные отвечают определенным условиям, оно может быть эффективнее qsort. Проверить, что все данные удовлетворяют этому условию -- N. Так что в итоге получается N + C. Все вполне правдоподобно :-)
Конечно, надо учесть время переключения потоков, задержку на старт потока, количество потоков, при которых система не деградирует и т.п. Но зная архитектуру, можно это все заложить в "проверку того, что данные допускают такую сортировку". Или построить отображение исходного набора в "подходящий". И для какого-то класса данных получится сортировка, более эффективная, чем qsort. Теоретически :-)
Тут скорее интересно то, что использован принципиально иной подход к сортировке. Здесь нет операций сравнения и перестановки в принципе, как таковых. Мне это решение напомнило, как оптимальный путь водой искали. Вероятно, где-то среди таких вот "решений в другой плоскости" можно найти и решение NP-полных задач :-)