Режим продукта с отладочной DLL - PullRequest
0 голосов
/ 17 июля 2009

Я знаю, что библиотека классов, скомпилированная в режиме 'Release', будет работать быстрее и эффективнее, чем библиотека, скомпилированная в режиме 'Debug', но кто-нибудь знает, в какой степени?

РЕДАКТИРОВАТЬ: Это для .net DLL.

Ответы [ 2 ]

1 голос
/ 17 июля 2009

Это определенно зависит от вида кода. Если программа в основном представляет собой серию обращений к существующему коду (в CLR или в другом месте), то ее оптимизация будет иметь незначительные последствия. Но если он выполняет значительную обработку, такую ​​как циклическая обработка данных для вычисления хэша, то это может быть намного быстрее, что легко вдвое больше, чем упомянуто в kingchris.

Имейте в виду, что Debug / Release немного странно с .NET, поскольку это флаг, который влияет на компиляцию JIT. Это означает, что код Release, запускаемый под отладчиком, по умолчанию обрабатывается как код Debug и поэтому не оптимизируется. Проверьте параметры отладчика, если это вас беспокоит.

0 голосов
/ 17 июля 2009

Когда вы используете язык, который зависит / зависит от оптимизаций, например C ++ / CLI, разница может легко быть фактором 10. Это потому, что сгенерированный IL будет уже медленнее, и этот IL будет запущен в отладчик налагает штраф к этому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...