Рассмотрим несколько ядер процессора
Это зависит от вашей платформы и количества предметов в векторе. Вы должны были бы сравнить, чтобы найти лучшее.
Невозможно ответить: есть ли что-то быстрее, чем цикл, проверяющий, что v [i] <= v [i + 1]? <br>
С: Нет.
Потому что ... сегодня у компьютеров несколько процессоров / ядер / гиперпоточности. Поэтому гораздо проще использовать параллизм в компьютере, разделив работу проверки на несколько потоков, поэтому каждый процессор может параллельно проверять небольшой диапазон.
Вероятно, лучше сделать это через библиотечную функцию, а не реализовывать ее самостоятельно. Новые версии библиотек будут эксплуатировать парализм. Так что, если вы пойдете на std :: sort, который вы, вероятно, обнаружите при сборке с использованием новых реализаций STL, они выполнят эту операцию параллельно, и вам не придется об этом беспокоиться. Я не знаю, есть ли уже доступные версии STL, которые уже делают это, но стоит придерживаться библиотечных функций, чтобы при обновлении до версии, которая делает это, эта оптимизация была для вас без каких-либо изменений. .