Я знаю, что библиотека классов, скомпилированная в режиме «Release», будет работать быстрее и эффективнее, чем одна скомпилированная в режиме «Отладка», но кто-нибудь знает, в какой степени?Режим продукта с отладочной DLL
EDIT: Это для .ll dll.
Я знаю, что библиотека классов, скомпилированная в режиме «Release», будет работать быстрее и эффективнее, чем одна скомпилированная в режиме «Отладка», но кто-нибудь знает, в какой степени?Режим продукта с отладочной DLL
EDIT: Это для .ll dll.
Это определенно зависит от типа кода. Если программа в основном представляет собой серию вызовов существующего кода (в среде CLR или где-либо еще), то оптимизация будет иметь мало влияния. Но если он выполняет значительную обработку, например, зацикливание данных для вычисления хэша, то это может быть намного быстрее, легко коэффициент из двух, упомянутых Kingchris.
Имейте в виду, что Debug/Release немного странно с .NET, так как это флаг, который влияет на компиляцию JIT. Это означает, что код выпуска, запускаемый под отладчиком, по умолчанию обрабатывается как код отладки и поэтому не оптимизирован. Проверьте параметры отладчика, если это вас беспокоит.
Когда вы используете язык, который зависит/зависит от оптимизаций, таких как C++/CLI, разница может быть легко фактором 10. Это связано с тем, что сгенерированный IL будет уже медленнее, и запуск этого IL в отладчик накладывает штраф на это.
Может случиться так, что это не накладные расходы отладчика, а функция JIT non-optimization, о которой я упоминал. –
Это для родной DLL, скомпилированной для x86 или сборки .net? –