Pythonライブラリの内部でRustが動く仕組み、PyO3の「帰り道」が重い理由

Libraries Run Rust Inside Python (With PyO3)

Pythonライブラリの内部でRustが動く仕組み、PyO3の「帰り道」が重い理由

Pydantic v2の心臓部pydantic-coreはPyO3でRustをPythonに橋渡ししている。本記事は同じ手法でJSONパーサをRustで書き、Pythonからimportできるようにする。注目すべきは戻り値の変換コストだ。RustのenumツリーをPythonオブジェクトに再構築する処理は、10万ノードの文書ではパース自体より時間がかかりうる。ボトルネックは境界にある。

大きな文書では、この実体化ループが、パースではなく、エンドツーエンドの時間を支配することがある。

この日のほかの記事

2026-09-13