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

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

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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值