我知道在“发布”模式下编译的类库比在“调试”模式下编译的类库运行得更快更有效,但有谁知道到什么程度?
编辑:这是针对.net dll。
答案 0 :(得分:1)
这绝对取决于代码的种类。如果程序主要是对现有代码的一系列调用(在CLR或其他地方),那么优化它将产生很小的影响。但是如果它进行了重要的处理,例如循环数据来计算哈希值,那么它可以更快,更容易成为kingchris提到的两个因素。
请记住,Debug / Release与.NET有点奇怪,因为它是一个影响JIT编译的标志。这意味着默认情况下,在调试器下运行的Release代码被视为调试代码,因此未进行优化。如果这会让您感到不安,请检查您的调试器选项。
答案 1 :(得分:0)
当您使用依赖于/依赖于优化的语言(例如C ++ / CLI)时,差异可能很容易成为因素10.这是因为生成的IL已经慢了,并且在运行此IL时调试器会对此施加惩罚。