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

「tools」タグの記事が2件件あります

全てのタグを見る

V8ヒープスナップショットの高速化

· 約14分
Jose Dapena Paz

このブログ投稿はJosé Dapena Paz (Igalia) によって執筆され、Jason Williams (Bloomberg)、Ashley Claymore (Bloomberg)、Rob Palmer (Bloomberg)、Joyee Cheung (Igalia)、およびShu-yu Guo (Google) の貢献を受けています。

この投稿では、V8ヒープスナップショットに関して、Bloombergのエンジニアが発見したいくつかのパフォーマンスの問題と、それを解決してJavaScriptメモリ分析をこれまで以上に高速化する方法について話します。

問題

Bloombergのエンジニアは、JavaScriptアプリケーションのメモリリークを診断する作業を行っていました。アプリはOut-Of-Memoryエラーで失敗していました。テストされたアプリケーションでは、V8ヒープの上限が約1400 MBに設定されていました。通常、V8のガベージコレクターはヒープ使用量をその制限内に保つことができるはずであるため、この失敗はリークがある可能性を示していました。

Indicium: V8 ランタイムトレーサーツール

· 約9分
ゼイネプ・キャンカラ ([@ZeynepCankara](https://twitter.com/ZeynepCankara))

過去3ヶ月間、インターンとしてGoogleロンドンのV8チームに参加し、新しいツールIndiciumの開発に取り組む機会を得て、とても素晴らしい学びの経験がありました。

このシステム解析ツールは、インラインキャッシュ (ICs) と Map がリアルワールドのアプリケーションでどのように生成・変更されるかのパターンをトレース、デバッグ、分析するための統一されたウェブインターフェイスです。

V8はすでにICsMapsのトレーシングインフラを持っており、IC Explorerを使用してICイベントを分析し、Map Processorを使用してMapイベントを分析することができます。しかし、従来のツールではMapとICを総合的に解析することはできませんでしたが、システム解析ツールを使うことでこれが可能になりました。