Нет внутренней причины, по которой работа, подключенная к отладчику, должна приводить к разнице в производительности, кроме (всего несколько возможностей):
У вас установлены условные контрольные точки?В зависимости от условий, они могут оказать существенное влияние на время выполнения.
Вы явно записываете большие объемы данных для прослушивателей Debug
или Trace
?(Изменить: это актуально для C #, вероятно, не для C ++.)
Компилируется ли EXE в режиме Release?По умолчанию в конфигурации выпуска включены оптимизации, которых нет при сборке в режиме отладки.
Действительно ли ваш временной код только синхронизирует соответствующий раздел?Если вы запускаете таймер в начале выполнения программы, а не вокруг вызовов GPU, которые вас действительно интересуют, вы можете случайно синхронизировать некоторые задачи запуска, связанные с запуском отладчика, который не будет активен вавтономное приложение.