2012-09-24 47 views
3

我是C#初学者,
由JIT在运行时生成的机器代码对于具有完全相同配置的两个不同系统是否相同?由两个不同系统的JIT生成的机器代码是否相同?

+2

你正在工作的假设应该是“不”。最初的意图是JIT可以根据实际的执行模式进行优化。换句话说,完全有可能机器代码甚至可能与运行运行不同,而不仅仅是机器之间。 – paulsm4

回答

1

我找到了a nice article关于你的问题。这是相当长的,所以我已经提取的最重要的部分:

  • 编译可以优化到目标CPU和操作系统模型,其中应用程序运行。例如,JIT可以在检测到CPU支持它时选择SSE2 CPU指令。
  • 系统能够收集有关程序如何在所处环境中实际运行的统计信息,并且可以重新排列和重新编译以获得最佳性能。

确实,反汇编不仅可以在不同平台上有所不同,还可以在同一系统上运行。

相关问题