タグ

JavaScriptとV8に関するmkusakaのブックマーク (3)

  • 304 Not Modified は JavaScript も速くする? - Repro Tech Blog

    はじめに こんにちは、Repro Booster のプロダクトマネージャーの Edward Fox(@edwardkenfox)です。 HTTP 304 Not Modified というステータスコードをご存知でしょうか。ブラウザがキャッシュ済みのリソースを再検証する際、サーバーが「変更されていないのでキャッシュを使ってください」と応答するためのステータスコードです。レスポンスボディが省略されるため転送量が削減され、結果としてページの読み込みが速くなる、というのが一般的な説明かと思います。 304 レスポンスには転送量の削減以上のメリットがあります。それは ChromeChromium)の JavaScript エンジンである V8 のコードキャッシュが再利用される、という点です。これにより JavaScript のコンパイル処理がスキップされ、スクリプトの実行開始が早まります。 少し

    304 Not Modified は JavaScript も速くする? - Repro Tech Blog
    mkusaka
    mkusaka 2026/01/24
    ChromiumのV8が304応答でbundle.jsのコードキャッシュを再利用し、コンパイル時間が12μsから6μsに短縮される実測と実装追跡を解説します。
  • V8エンジンの最適化戦略

    V8エンジンは、JavaScriptの実行性能を最大化するために3つの特殊化されたコンパイラを戦略的に使い分けています。 Sparkplug:高速な非最適化コンパイラ Maglev:中間層の最適化コンパイラ TurboFan:高度な最適化コンパイラ これらが実行頻度に応じて段階的に適用されることで、最適なパフォーマンスを実現しています。 Sparkplug:常識を覆した高速コンパイラ V8 v9.1で導入されたSparkplugは、従来のコンパイラ設計の常識を完全に無視することで、驚異的な高速コンパイルを実現しました。 核心的な実装 通常のコンパイラは、ソースコード → AST → 中間表現 → 最適化 → 機械語という段階を踏みます。しかしSparkplugはこれらを全て省略し、バイトコードから直接機械語を生成します。実装の中核は、コンパイラ全体が実質的に巨大なswitch文を含む単一の

    V8エンジンの最適化戦略
    mkusaka
    mkusaka 2025/08/21
    V8のSparkplug/Maglev/TurboFanを段階適用し、高速コンパイルとOSR、型フィードバック最適化を解説。
  • Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile Hints · V8

    Getting JavaScript running fast is key for a responsive web app. Even with V8's advanced optimizations, parsing and compiling critical JavaScript during startup can still create performance bottlenecks. Knowing which JavaScript functions to compile during the initial script compilation can speed up web page loading. When processing a script loaded from the network, V8 has to choose for each functi

    mkusaka
    mkusaka 2025/07/18
    V8のExplicit Compile HintsでChrome 136はファイルをeager compile指定可能。効果例で平均630ms改善も紹介。
  • 1