Почему std :: sort работает быстрее, чем & quot; introsort & quot; закодированы вручную?

Я реализовал интросорт с помощью быстрой сортировки, heapsort ..
Моя версия с ручным кодированием основана на предложении Д. Мюссера с глубиной рекурсии для переключения на heapsort, передаваемым в качестве параметра, выбора медианы 3. Порог элемента для переключения на простой тип вставки был 16.

-3

Решение

И gcc, и Microsoft VisualC ++ предоставляют исходный код для std :: sort (в алгоритме заголовочного файла). Таким образом, вы можете посмотреть сами. Я исследовал подобные проблемы раньше. Мой вывод состоял в том, что код был оптимизирован для общего пути к коду даже до такой степени, чтобы сделать код более сложным и сложным в обслуживании. Компромиссы, которые имеют смысл для меня.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]