为了账号安全,请及时绑定邮箱和手机立即绑定

C#为什么对同一段代码第二次执行速度会快很多?

C#为什么对同一段代码第二次执行速度会快很多?

交互式爱情 2018-08-02 12:10:15
刚刚用C#写了一个排序算法,在运行中对该算法执行了二次,第一次需要1000多微秒,但第二次仅需要10微秒。请问各位大虾这是为什么?
查看完整描述

2 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

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

查看完整回答
反对 回复 2018-08-07
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

第一次会从IL执行,然后是函数本身

第二执行,就直接从函数本身开始。


查看完整回答
反对 回复 2018-08-07
  • 2 回答
  • 0 关注
  • 791 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信