там в алгоритме партишнинга вопрос. Я нашел какую-то реализацию, и свою сделал. Считаю число сравнений - оно одинаковое (это ожидаемо), а вот перестановок у меня меньше (и сами они быстрее)
https://gist.github.com/aragaer/0150b1df7854b91774febd7afbcb1627 Тут вот partition_1 это разбиение Ломуто, а partition_2 - мое. В моем случае число перестановок в полтора-два раза меньше получается, и сами перестановки это только 1 memcpy вместо трех у Ломуто.