タグ

deoptに関するmkusakaのブックマーク (2)

  • 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、型フィードバック最適化を解説。
  • Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025

    https://rubykaigi.org/2025

    Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
    mkusaka
    mkusaka 2025/04/16
    RubyKaigi 2025の講演で、YJITがスローダウンにより高速化するデオプティマイゼーション手法とその実装例をスライドで解説 スライドで詳細なベンチマークとコード例も紹介
  • 1