現代のCPUがバイトコードインタープリタのループを効率的に予測する方法
2025-07-05
新しいPythonインタープリタの性能を調査していたところ、著者は、現代のCPUがバイトコードインタープリタのループ内の間接ジャンプを効率的に予測できることを発見しました。これは、TAGEやITTAGEなどの高度な分岐予測器によって実現されています。これらの予測器は、プログラムカウンタ(PC)とその履歴を過去の実行動作にマッピングし、幾何級数的に増加する履歴長の複数のテーブルを使用して、動的に最適な予測を選択します。著者は、ITTAGEの考え方をカバレッジガイド付きファジングとプログラム状態の探索に適用することについても考察し、これにより、インタープリタなどのプログラムの動作をより良く理解し、探索できる可能性を示唆しています。