Это никогда не случалось со мной. В Visual Studio у меня есть часть кода, которая выполняется 300 раз, я проверяю ее каждую итерацию с помощью счетчика производительности, а затем усредняю ее.
Если я запускаю код в отладчике, я получаю в среднем 1,01 мс, если я запускаю его без отладчика, я получаю 1,8 мс.
Я закрыл все остальные приложения, перезагрузил, пробовал много раз: всегда в одно и то же время.
Я пытаюсь оптимизировать свой код, но прежде чем бросить меня на изменение кода, я хочу быть уверен в своих временах. Чтобы было с чем сравнить.
Что может вызвать это странное поведение?
Edit:
Некоторые уточнения:
Я использую тот же скомпилированный кусок кода: сборка релиза. Единственная разница - (F5 против CTRL-F5)
Таким образом, оптимизация компилятора не должна быть задействована.
Поскольку каждое вычисленное время было очень маленьким, я менял способ измерения: теперь я рассчитываю 300 итераций, а затем делю на 300. У меня тот же результат.
О кэшировании: код выполняет некоторую взаимную корреляцию изображений с различными изображениями на каждой итерации. Этапы обработки не изменяются данными на изображениях. Поэтому я думаю, что кеширование не является проблемой.