2009-07-17 65 views
0

我知道以'Release'模式编译的类库运行得比在'Debug'模式下编译的类更快,效率更高,但有人知道程度如何?带有调试DLL的产品模式

编辑:这是为.net dll。

+1

这是为x86还是.net程序集编译的本机DLL? – 2009-07-17 15:05:23

回答

1

它绝对取决于代码的种类。如果程序主要是对现有代码(在CLR或其他地方)的一系列调用,那么对其进行优化几乎没有影响。但是如果它做了重要的处理,比如循环数据来计算哈希,那么它可以更快,很容易就是由王中提到的两个因子。

请记住,Debug/Release对于.NET有点奇怪,因为它是影响JIT编译的标志。这意味着在调试器下运行的发布代码默认情况下会被视为调试代码,因此未进行优化。如果这会干扰你,请检查你的调试器选项。

0

当您使用依赖于/依赖于优化的语言(如C++/CLI)时,差异可能很容易成为因子10.这是因为生成的IL将会更慢,并且运行此IL一个调试器会在其上加罚。

+0

它可能不是调试器的开销,而是我提到的JIT非优化功能。 – 2009-07-17 16:18:32