【发布时间】:2018-04-30 21:21:20
【问题描述】:
LINQPad 在结果附近有一个选项卡,用于显示您正在运行的 C# 语句的 IL。我想知道这是否是代码的优化“发布”版本与代码的未优化“调试”版本。
也许有一个简单的方法可以通过写一个小代码sn-p之类的来检查?
【问题讨论】:
-
右下角有一个小
/o-//o+按钮,用于控制优化。由于代码会根据它是否被按下而改变,我有理由相信你可以通过这种方式获得任何一种味道。 -
我已经看过一百万次了,但它从未点击过。不错
-
点击随机按钮以查看它们的作用:如果您要维护核反应堆,那是个坏主意;了解更多关于日常编程工具如何工作的好主意。
-
如果 IL 有一堆
nop指令,它可能没有优化。通常插入到调试版本中,以便有一个放置断点的指令。也许不是一个 100% 始终正确的规则,但如果有很多规则,很可能没有优化。虽然我不能这么说,但我曾经注意到 linq pad 是否插入了一堆nops