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

V8でのソートの整理

· 約24分
Simon Zünd([@nimODota](https://twitter.com/nimODota))、一貫性のある比較関数

Array.prototype.sortは、V8でセルフホスティングJavaScriptで実装された最後のビルトインの1つでした。このポート作業を通じて、異なるアルゴリズムや実装戦略を試す機会を得、それを最終的にV8 v7.0 / Chrome 70で安定化することができました。

V8での`DataView`パフォーマンスの向上

· 約11分
Théotime Grohens(<i lang="fr">データビューの賢人</i>)とBenedikt Meurer([@bmeurer](https://twitter.com/bmeurer))、プロフェッショナルなパフォーマンスパル

DataViewsは、JavaScriptで低レベルメモリアクセスを行うための2つの可能な方法の1つです。もう1つはTypedArraysです。これまで、V8においてTypedArraysはDataViewsよりもかなり最適化されており、グラフィックス集約ワークロードやバイナリデータのデコード/エンコードなどの作業において低いパフォーマンスを示していました。この理由の多くは歴史的な選択に起因しています。例えば、asm.jsDataViewsではなくTypedArraysを選択していたことにより、エンジンがTypedArraysのパフォーマンスに焦点を当てるよう促されていました。

V8の10周年を祝う

· 約17分
Mathias Bynens ([@mathias](https://twitter.com/mathias)), V8の歴史家

今月は、Google Chromeだけでなく、V8プロジェクトも出荷開始から10周年を迎えます。この投稿では、V8プロジェクトの過去10年間の主なマイルストーン、およびプロジェクトがまだ秘密であったころの出来事を概観します。

Liftoff: WebAssemblyのためのV8における新しいベースラインコンパイラ

· 約19分
Clemens Backes、WebAssemblyコンパイルの達人

V8 v6.9には、WebAssemblyのための新しいベースラインコンパイラであるLiftoffが含まれています。Liftoffは現在デスクトップシステムでデフォルトで有効になっています。この記事では新しいコンパイルレベルを導入する動機と、Liftoffの実装とパフォーマンスについて詳しく説明します。

埋め込み組み込み機能

· 約16分
Jakob Gruber ([@schuay](https://twitter.com/schuay))

V8の組み込み関数(組み込み機能)は、V8のすべてのインスタンスでメモリを消費します。組み込み機能の数、平均サイズ、およびChromeブラウザータブごとのV8インスタンス数は大幅に増加しています。本ブログ記事では、過去1年間でウェブサイトごとのV8ヒープサイズの中央値を19%削減した方法について説明します。

V8リリースv6.9

· 約6分
V8チーム

6週間ごとに、V8はリリースプロセスの一環として新しいブランチを作成します。各バージョンは、Chromeのベータ版マイルストーン直前にV8のGitマスターから分岐されます。本日、最新のブランチV8バージョン6.9を発表できることを嬉しく思います。このバージョンは数週間後のChrome 69 Stableのリリースと連携してベータ版で配信されます。V8 v6.9は開発者にとって多くの魅力的な機能が詰まっています。本記事では、リリースに先立ち、注目のハイライトについてのプレビューを提供します。

V8リリース v6.8

· 約5分
V8チーム

6週間ごとに、リリースプロセスの一環として新しいV8のブランチを作成します。各バージョンは、Chrome Betaのマイルストーン直前にV8のGitマスターから分岐します。本日、最新のブランチV8バージョン6.8を発表できることを嬉しく思います。このバージョンは数週間後にChrome 68 Stableと連携してリリースされるまでベータ版で提供されます。V8 v6.8には、多くの開発者向けの機能が満載されています。この投稿では、リリースを前にいくつかのハイライトをご紹介します。

V8の並行マーク

· 約17分
Ulan Degenbaev、Michael Lippautz、Hannes Payer — メインスレッドの解放者

この投稿では、並行マーク と呼ばれるガベージコレクション技術について説明します。この最適化により、ガベージコレクターがヒープをスキャンして生存オブジェクトを発見・マークしている間もJavaScriptアプリケーションの実行が続けられます。我々のベンチマークでは、並行マークによりメインスレッドのマーキング時間が60%~70%短縮されることが示されています。並行マークは、Orinocoプロジェクト という、古いガベージコレクターを新しい主に並行かつ並列のガベージコレクターに徐々に置き換えるプロジェクトの最後の欠片です。Chrome 64およびNode.js v10では並行マークがデフォルトで有効になっています。

V8リリースv6.7

· 約2分
V8チーム

6週ごとに、リリースプロセスの一環としてV8の新しいブランチを作成しています。各バージョンは、Chrome Betaマイルストーン直前にV8のGitマスターから分岐されます。本日、最新のブランチV8 version 6.7を発表できることを嬉しく思います。これは数週間でChrome 67のStable版との連携でリリースされるまでベータ版です。V8 v6.7には開発者向けの便利な機能が満載です。本投稿ではリリースに先立ち、そのハイライトの一部をご紹介します。