ITPub博客

首页 > > > [转载] Gil Tene大大演示Zing JVM的新JIT编译器的向量化优化

[转载] Gil Tene大大演示Zing JVM的新JIT编译器的向量化优化

作者:格伯纳 时间:2017-01-18 18:46:35 0 删除 编辑
鄙司Azul Systems的CTO,Gil Tene大大这两天忍不住晒了一下鄙司的Zing JVM里的其中一个JIT编译器——Falcon——的一点优化效果。本来在正式公开之前我要遵循公司指引不提太多关于这个编译器的细节,但指引里有一个原则是“CTO大大公开说了的信息都是可以讨论的信息” >_<

所以我可以做的最安全的事情就是原文转载CTO大大的帖子了。原文链接:Operation Reordering - Mechanical Sympathy

以下为转载内容:

Quote

Gil Tene:

I'm all for experimenting and digging into what the generated code actually looks like. Just remember that it's a moving target, and that you should not assume that the code choices will look similar in the future.

E.g. I'm working on a presentation that demonstrates of how our JITs make use of the capabilities of newer Intel cores. To study machine code, I generally "make it hot" (e.g. with jmh, using DONT_INLINE directives) and then look at it with ZVision (a feature of Zing), which is very useful because the instruction-level profiling ticks allow me quickly identify and zoom into the actual loop with the code I want to study (and ignore the 90%+ rest of the machine code that is not the actual hot loop).

Below is a short sequence from my work-in-progress slide deck. It demonstrates how much of a moving target code-gen is for the exact same code, and even the exact same compiler (e.g. varying according to the core you are running on). In this case you are looking at what Zing's Falcon JIT generates fro Westmere vs. Broadwell for the same simple loop. But the same sort of variance and adaptability will probably be there for other JITs and static compilers.

是的,Falcon是Zing JVM里的除了C1、C2之外的又一个JIT编译器,是基于LLVM的JIT编译器的名字。

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    2383
  • 访问量
    983995