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