Vercelは2026年7月21日(現地時間)、Python関数のバンドルに事前コンパイル済みバイトコードを含める機能の提供を開始したと発表した。この機能により、ベンチマークテストでは中央値サイズの関数でコールドスタート時間が2.8秒から1.3秒へと大幅に短縮され、53%の改善を達成する。実行時のコンパイルプロセスが不要になることで、特に大規模な依存関係を持つ関数においてアプリケーションの起動時間が著しく改善される。
Pythonがモジュールをインポートする際、キャッシュされたバイトコードファイル(.pyc)が存在しない場合は、実行前にソースコードの解析とコンパイルが必要となる。このコンパイル処理は、特に依存関係ツリーが大きい関数において起動時間のオーバーヘッドを増加させる主な要因となっていた。
Vercelはこの課題に対応するため、Python関数のデプロイ時にアプリケーションコードとその依存関係の両方をビルドプロセス中に自動的にコンパイルする。生成されたこれらの.pycファイルは、その後関数バンドルに含められる。これにより、Pythonインタプリタは関数起動時にコンパイルプロセスをスキップできるようになり、関数呼び出しの高速化を実現する。
Vercelは、関数バンドルサイズの上限内で可能な限り多くの事前コンパイル済みバイトコードを自動的に追加する。ただし、すでにサイズ制限に近い関数では、事前コンパイル済みバイトコードを格納する余地が少なくなるため、得られるパフォーマンス向上の幅は相対的に小さくなる可能性がある。この新しい機能を利用するために、既存のPythonコードに変更を加える必要はない。
この機能強化は、Vercelがこれまでに取り組んできたPython関数の実行最適化、例えば高速なPythonランタイムの提供や最適化された依存関係のインストールといった先行する取り組みの上に構築されている。
参考: Vercel Blog (アーカイブ) — 2026年7月21日 09:00 (JST)