このうち、最初の2つはPythonプログラム実行中にPythonで記述された関数が呼び出される際の処理の高速化やメモリ使用の効率化に役立っている。最後の特殊化適応的インタプリターは、さまざまな型を扱えるように生成されたバイトコードを、特定の型のオブジェクトに適応するバイトコードに変更することで処理の高速化を狙うものといえる。 フレームオブジェクトの遅延作成 ここでいうフレームオブジェクトとは、関数を呼び出すごとに作成され、その関数の実行情報を格納するオブジェクトのことだ。関数内のローカル変数や評価スタック、コードオブジェクト(実行するコードを表すオブジェクト)などは一般にフレームオブジェクトに保持される。 Python 3.10まではこのフレームオブジェクトが関数呼び出しのたびに作成され、CPythonを実装しているC言語側のヒープに確保されるようになっていた。しかし、メモリ確保は高価な処