メインコンテンツまでスキップ

V8 リリース v5.4

· 約4分
V8 チーム

毎6週間ごとに、私たちは リリースプロセス の一環として新しい V8 ブランチを作成します。それぞれのバージョンは、Chrome Beta マイルストーンの直前に V8 の Git マスターから分岐されます。本日は、最新のブランチ V8 version 5.4 を発表できることを嬉しく思います。このバージョンは数週間後に Chrome 54 Stable と連携してリリースされるまでベータ版となります。V8 v5.4 にはさまざまな開発者向け機能が満載されているので、リリースを前にいくつかのハイライトをご紹介したいと思います。

パフォーマンスの向上

V8 v5.4 は、メモリ使用量と起動速度においていくつかの重要な改善を提供します。これらは主に初期スクリプトの実行の加速と Chrome のページ読み込みの削減を支援します。

メモリ

V8 のメモリ消費を測定する際、監視と理解において非常に重要な2つの指標があります:ピークメモリ 使用量と 平均メモリ 使用量です。通常、ピーク消費を削減することは平均消費を削減するのと同じくらい重要です。なぜなら、瞬間的であっても利用可能なメモリを使い果たすスクリプトの実行は、メモリ不足 (Out of Memory) が発生する可能性があるからです。最適化の目的で V8 のメモリを以下の2つのカテゴリに分けると便利です:ヒープ内メモリ には実際の JavaScript オブジェクトが含まれ、ヒープ外メモリ にはコンパイラ、パーサー、ガベージコレクターによって割り当てられる内部データ構造などが含まれます。

5.4 では、512 MB の RAM 以下の低メモリデバイス向けに V8 のガベージコレクターを調整しました。この変更により、表示されているウェブサイトによっては ヒープ内メモリピークメモリ 使用量を最大 40% 削減します。

また、V8 の JavaScript パーサー内のメモリ管理が簡素化され、不必要な割り当てを回避することで ヒープ外ピークメモリ 使用量を最大 20% 削減しました。これらのメモリ節約は、大規模なスクリプトファイル(asm.js アプリケーションを含む)のメモリ使用量の削減に特に役立ちます。

起動と速度

V8 のパーサーを合理化する作業はメモリ消費を削減するだけでなく、パーサーの実行時パフォーマンスも向上させました。この合理化は、JavaScript ビルトインと、JavaScript オブジェクトのプロパティへのアクセスにおいてグローバルな インラインキャッシュ を使用する方法の他の最適化と組み合わさり、起動パフォーマンスに顕著な向上をもたらしました。

我々の内部起動テストスイート(実際の JavaScript パフォーマンスを測定する)において、中央値で 5% の改善が見られました。また、Speedometer ベンチマークもこれらの最適化の恩恵を受け、v5.2 と比較して約 10〜13% 改善しました。

V8 API

私たちの API の変更概要 を確認してください。このドキュメントは、各メジャーリリースの数週間後に定期的に更新されます。

アクティブな V8 チェックアウト をしている開発者は git checkout -b 5.4 -t branch-heads/5.4 を使用して、V8 v5.4 の新機能を試すことができます。または Chrome のベータチャンネルを購読 して、新機能をすぐに試すこともできます。