如何甄别一家专业诚信的论文机构? 咨询电话: 13161669098(李老师) QQ:286399115点击即时交谈 设为首页 | 加入收藏 | 在线留言 | 旧版站点入口  

浅析方法级即时编译和路径级即时编译

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2016-05-03 21:26:44

浅析方法级即时编译和路径级即时编译
    JIT编译器可以分为方法级和路径级两种,方法级JIT编译器通常被用在服务器上,它的解释器对程序概要信息探测发现“热“方法,然后将被探测到的方法编译和优化。它的优点在于优化窗口比较大,但是方法级JIT编译器在编译和优化时占用的内存多,方法的预热速度比较慢,需要前期较高的投入才能使程序高速运行起来。HotSpot虚拟机使用方法级即时编译器,HotSpot虚拟机中即时编译器在一定条件下会被触发。当是方法调用计数器的值大于CompileThreshold(预先设定的闽值,C1的阀值为1500 }  C2的闽值为10000)时,表示方法己经足够“热”需要即时编译器开始工作。还有一种情况会触发HotSpot虚拟机的即时编译器,当某方法的循环语句超过闽值时,也会触发即时编译器,这个计数器叫做回边计数器。HotSpot虚拟机的方法调用计数器会随着时间的推移作指数衰减,方法调用计数器并不是准确计算方法的调用次数,而是方法的“热度”。解释器收集程序概要信息时间越长越能精确了解程序行为特性,让C2编译器可以生成更优质的代码,例如将执行频率高的代码路径安排在连续的直线上,将其它代码安排在后面,但收集程序概要信息过程中解释速度较慢,在这个模式停留太久反而得不偿失。
    路径级即时编译器适合在低级别的系统上运行,它的解释器对程序概要信息分析,发现“热”的执行路径,编译以及优化“热的”小块程序。路径级即时编译器的优势在于细粒度的优化,内存额外开销小;与解释器的转换平滑,对“热”点代码快速编译带来快速的性能提升。路径级即时编译器的缺点是细粒度的编译优化不会带来顶峰的执行速度;由于频繁的转换,解释器需要做过多的状态同步,进程间的缓存共享比较困难。
    图4.2是谷歌2010年I/O会议上给出一组统计数据,可以看出在一个4695780字节的程序中,“热”方法有396230字节,占整个程序的8%;“热”路径的大小为103966字节,占整个程序的2 0}o,占“热”方法的26%。通过上图可以得出结论:与方法级的即时编译器相比,路径级的即时编译器会占用更少的内存,提供相对快速的程序运行速度提升。
 

  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论