我遇到了以下段落:
“在Visual Studio中编译代码时,IDE中的“调试与发布”设置对性能几乎没有影响……生成的代码几乎相同。C#编译器实际上并没有做任何优化。C#编译器仅吐出IL…,在运行时由JITer进行所有优化。JITer确实具有调试/发布模式,这对性能产生了巨大的影响。但这并不能阻止您运行项目的调试或发布配置,也不会阻止是否连接调试器。”
来源在这里,播客在这里。
有人可以指导我阅读可以实际证明这一点的Microsoft文章吗?
谷歌搜索“ C#调试与发布性能 ”通常会返回结果,指出“ 调试对性能有很大影响 ”,“ 发布经过优化 ”和“ 不将调试部署到生产环境 ”。
部分正确。在调试模式下,编译器会为所有变量发出调试符号,并按原样编译代码。在发布模式下,包括一些优化:
其余的取决于JIT。
编辑:这里有优化的完整列表,由Eric Lippert提供