[この記事は Ben L. Titzer、ソフトウェア エンジニア、TurboFan メカニックによる Chromium Blog の記事 "Revving up JavaScript performance with TurboFan" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

JavaScript のエコシステムはいくつかの方法で進化しています。たとえば、最近承認された ECMAScript 2015 や実験初期段階の Strong Mode など、主な標準がさらに高度な仕様に更新されています。こうした新しい方向性のニーズとのバランスを取るには、柔軟な実行時(JIT)コンパイラーが必要であり、私たちは「TurboFan」というコード名の V8 向け最新コンパイラーに重点的に取り組んできました。Chrome 41 以降、特定のタイプのコードで TurboFan が有効になっています。これは、従来のコンテンツを高速化するとともに、新しい言語機能のパフォーマンスを改善します。

TurboFan は固有の機能を多く搭載することを念頭に、新しく構築されました。以前の最適化コンパイラーよりも多くのコードを最適化し、フレキシブルで変化の多い最適化モードをサポートしており、コントリビューションやメンテナンスがより簡単になります。これらの機能によって、以前のコンパイラーで最適化を行うには困難であった、scope、computed property 名、for-of ループを使用した asm.js や class リテラルなどの一部のコードタイプにおいても TurboFan を使用できるようになりました。TurboFan はすでに、Octane ベンチマークの zlib スコアが 29% 上昇するなど、今後が期待できるパフォーマンスを発揮しています。

私たちは今後数か月で、TurboFan をより多くの JavaScript で使用できるようにし、最終的には既存の CrankShaft コンパイラーから完全に移行することを目標としています。TurboFan が展開されると、デベロッパーのコードが自動的に高速化されます。コストはかからず、変更の必要もありません。今後の進捗にご期待ください。

Posted by Eiji Kitamura - Developer Relations Team