Debug версия работает быстрее Release
От: chipmunk  
Дата: 30.07.10 15:33
Оценка:
И памяти кушает тоже меньше. Как такое может быть ?
Собираю в Visual Studio 2008.
Re: Debug версия работает быстрее Release
От: chipmunk  
Дата: 31.07.10 11:24
Оценка:
заметил что такое проявляется только когда запускаю со студии (F5)
когда отдельно из проводника — всё быстро отрабатывает как нужно
Re[2]: Debug версия работает быстрее Release
От: dmitry_npi Россия  
Дата: 31.07.10 16:25
Оценка:
Здравствуйте, chipmunk, Вы писали:

C>заметил что такое проявляется только когда запускаю со студии (F5)

C>когда отдельно из проводника — всё быстро отрабатывает как нужно


Если вы ничего особенного в свойствах проекта не настраивали, то debug от release отличается оптимизацией и символами DEBUG (или _DEBUG)
Вряд ли оптимизация может замедлить сильно программу и тем более отожрать памяти.

Предположение: у вас где-то перепутано #ifdef DEBUG и #ifndef DEBUG
или просто где-то в условную компиляцию завернуто что-то тормозное.

Запуск по F5 и из проводника отличается двумя вещами — текущим каталогом по умолчанию и наличием отладчика.
Проверьте, как поведение программы зависит от текущего каталога. Может ли ваша программа обнаруживать отладчик и изменять поведение?

Ну и последнее, конечно, — баг компилятора. Хотя тогда скорость не должна зависеть от способа запуска.
Атмосферная музыка — www.aventuel.net
Re[3]: Debug версия работает быстрее Release
От: Кодт Россия  
Дата: 31.07.10 19:47
Оценка: +1
Здравствуйте, dmitry_npi, Вы писали:

_>Запуск по F5 и из проводника отличается двумя вещами — текущим каталогом по умолчанию и наличием отладчика.

_>Проверьте, как поведение программы зависит от текущего каталога. Может ли ваша программа обнаруживать отладчик и изменять поведение?

Ну и предпоследнее — разная временная диаграмма.
В жестоко многопоточных приложениях можно наблюдать разные чудеса. Например, голодания.
Отладчик вносит толику торможения в систему, и эта толика может существенно сдвинуть временную диаграмму.

Ну и пред-предпоследнее. Релизная сборка с отладочным выводом.
Без отладчика работает, как обычно. Под отладчиком возникают небольшие тормоза. И см.выше.

Ну и пред-пред-предпоследнее. Аппаратные исключения (SEH), которые зачем-то обрабатываются программой, вместо того, чтобы let it crash. Отладчик, разумеется, реагирует нервно.
Почему АИ возникают в релизе, а не в дебаге — причин множество, сами знаете.

_>Ну и последнее, конечно, — баг компилятора. Хотя тогда скорость не должна зависеть от способа запуска.


"Оптимизация скорости" (/O2) у VC — стрёмная вещь. Может быть, действительно, какой-нибудь баг кодогенератора прокрался.
TODO: посмотреть в настройках проекта, и вместо /O2 поставить /Ox.
Перекуём баги на фичи!
Re: Debug версия работает быстрее Release
От: minorlogic Украина  
Дата: 01.08.10 18:13
Оценка: +3
Ищите неинициализированные данные
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Debug версия работает быстрее Release
От: okman Беларусь https://searchinform.ru/
Дата: 02.08.10 02:01
Оценка: 2 (1)
Здравствуйте, chipmunk, Вы писали:

C>заметил что такое проявляется только когда запускаю со студии (F5)

C>когда отдельно из проводника — всё быстро отрабатывает как нужно

Минуточку, из студии следует запускать по Ctrl + F5 (без отладки)...
Re[3]: Debug версия работает быстрее Release
От: Кодт Россия  
Дата: 04.08.10 19:17
Оценка:
Здравствуйте, okman, Вы писали:

O>Минуточку, из студии следует запускать по Ctrl + F5 (без отладки)...


А смысл? Чем тогда будет отличаться запуск из студии от запуска из проводника, кроме (возможно) разных рабочих каталогов?
Перекуём баги на фичи!
Re[4]: Debug версия работает быстрее Release
От: okman Беларусь https://searchinform.ru/
Дата: 04.08.10 19:49
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, okman, Вы писали:


O>>Минуточку, из студии следует запускать по Ctrl + F5 (без отладки)...


К>А смысл? Чем тогда будет отличаться запуск из студии от запуска из проводника, кроме (возможно) разных рабочих каталогов?


Ну так F5 (по умолчанию) — Start Debugging. Поэтому и тормоза, наверное...
Re[5]: Debug версия работает быстрее Release
От: Кодт Россия  
Дата: 04.08.10 23:33
Оценка:
Здравствуйте, okman, Вы писали:

O>Ну так F5 (по умолчанию) — Start Debugging. Поэтому и тормоза, наверное...

Это не объясняет, почему медленнее дебажной версии. (Телепатически надеюсь, что сравнивалось с запуском дебажной версии из-под отладчика).
Перекуём баги на фичи!
Re[4]: Debug версия работает быстрее Release
От: PPA Россия http://flylinkdc.blogspot.com/
Дата: 05.08.10 02:59
Оценка:
Здравствуйте, Кодт, Вы писали:

К>"Оптимизация скорости" (/O2) у VC — стрёмная вещь. Может быть, действительно, какой-нибудь баг кодогенератора прокрался.

К>TODO: посмотреть в настройках проекта, и вместо /O2 поставить /Ox.

можно подробнее про это и есть примеры когда O2 глючит, а Ox нет?
и в какой версии?
Re[2]: Debug версия работает быстрее Release
От: silent_bob  
Дата: 11.08.10 23:52
Оценка:
Студия случаем не пытается подгрузить символы для релизных версий длл?
Re: Debug версия работает быстрее Release
От: VladFein США  
Дата: 12.08.10 00:03
Оценка:
Здравствуйте, chipmunk, Вы писали:

C>И памяти кушает тоже меньше. Как такое может быть ?

Такого быть не может!
Вместо экзотических причин, упомянутых выше (многопоточность, ошибки оптимизации), я ставлю на "user error".
Или меряете неправильно, или данные различаются (включая упомянутые неинициализированные данные).
Может соберете простенький пример, демонстрирующий Вашу ситуацию?
Re[3]: Debug версия работает быстрее Release
От: chipmunk  
Дата: 12.08.10 11:30
Оценка:
Здравствуйте, okman, Вы писали:

O>Минуточку, из студии следует запускать по Ctrl + F5 (без отладки)...


да, действительно, в Release конфигурации Сtrl + F5 даёт более чем в два раза прирост скорости чем просто F5

я этого не знал, думал достаточно просто переключить Debug в Release
Re: Debug версия работает быстрее Release
От: Аноним  
Дата: 18.08.10 10:37
Оценка:
Здравствуйте, chipmunk, Вы писали:

C>И памяти кушает тоже меньше. Как такое может быть ?

C>Собираю в Visual Studio 2008.

Пробуксовывает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.