C#在一次运行中,为什么同一段代码第二次执行速度会比第一次执行快很多?

来源:互联网 发布:越狱工具for mac 编辑:程序博客网 时间:2024/04/25 08:43

最近做了一个练习,一次执行时,无意中对一个段代码执行了多次。结果发现了一个非常让我吃惊的现象。在第一次执行时执行时间需要1000多微秒,但第二次执行时仅需10微秒。当时百思不得其解,在网上也未找到答案。后来问了问了网上的高手才明白其原理。现将答案贴出,望各位高手批评指正。

 .NET 程序从源代码到机器代码会经历两个过程:先从源代码 IL 中间代码:再在程序执行的时候,JIT 会将中间代码 编译成机器代码。在代码第一次执行的时候有上述过程。然后编译后的机器代码会被缓存起来。所以第一次执行的速度会长一些,而第二次速度就快很多, 因为不需要再从 IL 到机器码的编译过程。

 

原创粉丝点击