当前位置:统一通信/协作企业动态 → 正文

Facebook如何重新设计HHVM JIT编译器的性能

责任编辑:editor004 作者:Sergio De Simone |来源:企业网D1Net  2016-10-19 12:25:50 本文摘自:INFOQ

2013年夏天,Facebook工程师开始对HHVM JIT编译器进行重大的重新设计,这次重新设计使得Facebook Web服务器CPU的使用率整体降低了15%。Facebook工程师Guilherme Ottoni最近描述了Facebook如何在JIT编译器中利用性能分析引导优化(PGO)技术达到这一效果。

性能分析引导优化技术主要采用运行时分析,例如,识别出更频繁执行的代码,以改进代码的生成。由于编译器和运行时环境的集成特性,PGO更适合集成到动态编译器和JIT编译器中。

Facebook工程师概括tracelet采取的第一步是,基于性能分析信息将其中的几个组合在一起。通过这样做,可以减少不同tracelet进入和退出的开销,并且实现更高级的cross-tracelet优化,例如提升循环不变式计算到循环外。

在基本的tracelet外构建更大的区域具有不违反现有JIT优化器和后端中任何假设的优点,这些假设是紧密围绕这一概念设计的。在第二个阶段,Facebook工程师开始重新设计这些组件,以便能够处理具有任意控制流的区域。这一努力在2015年春天完成了,通过将CPU使用率降低15%,显著提高了JIT编译器的性能,相比第一阶段的改进提升了两倍。

查看英文原文:How Facebook Redesigned the HHVM JIT Compiler for Performance

关键字:FacebookJIT编译器

本文摘自:INFOQ

x Facebook如何重新设计HHVM JIT编译器的性能 扫一扫
分享本文到朋友圈
当前位置:统一通信/协作企业动态 → 正文

Facebook如何重新设计HHVM JIT编译器的性能

责任编辑:editor004 作者:Sergio De Simone |来源:企业网D1Net  2016-10-19 12:25:50 本文摘自:INFOQ

2013年夏天,Facebook工程师开始对HHVM JIT编译器进行重大的重新设计,这次重新设计使得Facebook Web服务器CPU的使用率整体降低了15%。Facebook工程师Guilherme Ottoni最近描述了Facebook如何在JIT编译器中利用性能分析引导优化(PGO)技术达到这一效果。

性能分析引导优化技术主要采用运行时分析,例如,识别出更频繁执行的代码,以改进代码的生成。由于编译器和运行时环境的集成特性,PGO更适合集成到动态编译器和JIT编译器中。

Facebook工程师概括tracelet采取的第一步是,基于性能分析信息将其中的几个组合在一起。通过这样做,可以减少不同tracelet进入和退出的开销,并且实现更高级的cross-tracelet优化,例如提升循环不变式计算到循环外。

在基本的tracelet外构建更大的区域具有不违反现有JIT优化器和后端中任何假设的优点,这些假设是紧密围绕这一概念设计的。在第二个阶段,Facebook工程师开始重新设计这些组件,以便能够处理具有任意控制流的区域。这一努力在2015年春天完成了,通过将CPU使用率降低15%,显著提高了JIT编译器的性能,相比第一阶段的改进提升了两倍。

查看英文原文:How Facebook Redesigned the HHVM JIT Compiler for Performance

关键字:FacebookJIT编译器

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^