История изменений
Исправление theNamelessOne, (текущая версия) :
А что «думает» nanobench?
Поправь меня, если я где-то ошибся (не пишу на C++):
- Ты выполняешь бенчмарк для разных размеров вектора в цикле.
- В каждой итерации цикла ты ресайзишь и заполняешь вектор с нуля.
- Далее ты запускаешь бенчмарк, который замеряет скорость выполнения замыкания; вектор при этом в замыкание передаётся по ссылке. Замеры выполняются дохрениллиард раз (нам не особо важно, сколько именно, главное, что больше 1).
- В каждой итерации бенчмарка ты удаляешь из вектора чётные элементы.
Если я всё правильно понял, у тебя в первой итерации бенчмарка (не путать с итерацией цикла!) удаляются все чётные элементы вектора, при этом все последующие итерации бенчмарка будут выполняться уже на изменённом векторе, в котором чётных элементов не осталось (т.е. в последующих итерациях бенчмарка будет просто линейный проход по вектору без вызовов erase
).
Что тогда ты хотел этим бенчмарком показать-то?
Исходная версия theNamelessOne, :
А что «думает» nanobench?
Поправь меня, если я где-то ошибся (не пишу на C++):
- Ты выполняешь бенчмарк для разных размеров вектора в цикле.
- В каждой итерации цикла ты ресайзишь и заполняешь вектор с нуля.
- Далее ты запускаешь бенчмарк, который замеряет скорость выполнения замыкания; вектор при этом в замыкание передаётся по ссылке. Замеры выполняются дохрениллиард раз (нам не особо важно, сколько именно, главное, что больше 1).
- В каждой итерации бенчмарка ты удаляешь из вектора чётные элементы.
Если я всё правильно понял, у тебя в первой итерации бенчмарка (не путать с итерацией цикла!) удаляются все чётные элементы вектора, при этом все последующие итерации бенчмарка будут выполняться уже на изменённом векторе, в котором чётных элементов не осталось.
Что тогда ты хотел этим бенчмарком показать-то?