JIT编译器VS离线编译器 [英] JIT compiler vs offline compilers

查看:279
本文介绍了JIT编译器VS离线编译器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有场景,JIT编译器比其他的编译器,如C ++?

Are there scenarios where JIT compiler is faster than other compilers like C++?

你认为在未来的JIT编译器将只看到小的优化,功能,而是遵循一个相似的性能,或会有突破,这将使它无限优于其它编译器?

Do you think in the future JIT compiler will just see minor optimizations, features but follow a similar performance, or will there be breakthroughs that will make it infinitely superior to other compilers?

它看起来像多核心模式有一定的希望,但是它不是万能的法宝。

It looks like the multi core paradigm has some promise but it's not universal magic.

任何见解?

推荐答案

是的,当然有这样的场景。

Yes, there certainly are such scenarios.

  • 在JIT编译使用运行时分析来优化基础上,什么样的code实际上是在做此刻的特性测量具体案例,并可以重新编译c以必要的热$ C $。这不是理论上的; Java的热点其实做到这一点。
  • 在抖动,优化在该程序恰好在执行实际的硬件使用的特定CPU和内存配置。例如,许多.NET应用程序在32位或64位code运行,这取决于他们在那里即时编译。在64位硬件上,他们将使用更多的寄存器,内存和更好的指令集。
  • 的紧密循环内虚拟方法调用可以替换为基于基准的类型的运行知识静态调用。

我认为会在未来的突破。具体而言,我认为,JIT编译和动态类型的组合将被显著的改善。我们在Chrome的V8和的TraceMonkey JavaScript的空间已经看到了这一点。我希望看到在不太遥远的将来,类似规模的其他改进。这是重要的,因为即使是所谓的静态类型的语言往往有一些动态功能。

I think there will be breakthroughs in the future. In particular, I think that the combination of JIT compilation and dynamic typing will be significantly improved. We are already seeing this in the JavaScript space with Chrome's V8 and TraceMonkey. I expect to see other improvements of similar magnitude in the not-too-distant future. This is important because even so-called "statically typed" languages tend to have a number of dynamic features.

这篇关于JIT编译器VS离线编译器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆