Q:PyPyがCPythonと比較してこれらの大きな課題(速度、メモリ消費量、並列処理)を解決できる場合、幅広い採用を妨げているその弱点は何ですか?
A:まず、PyPyチームが一般的に速度の問題を解決できるという証拠はほとんどありません。長期的な証拠によると、PyPyは特定のPythonコードをCPythonよりも低速で実行しており、この欠点はPyPyに深く根ざしているようです。
次に、現在のバージョンのPyPyは、かなり大規模なケースでCPythonよりもはるかに多くのメモリを消費します。したがって、PyPyはまだメモリ消費の問題を解決していません。
PyPyが前述の大きな課題を解決し、一般にCPythonよりも高速で、メモリの消費量が少なく、並列処理に友好的かどうかは、短期的に解決できない未解決の問題です。一部の人々は、PyPyがすべてのケースでCPython 2.7および3.3を支配することを可能にする一般的なソリューションを決して提供できないと賭けています。
PyPyが一般にCPythonよりも優れている場合、これは疑わしいですが、その広範な採用に影響する主な弱点は、CPythonとの互換性です。CPythonがより広い範囲のCPUとOSで実行されるという事実などの問題も存在しますが、これらの問題はPyPyのパフォーマンスやCPython互換性の目標と比較するとそれほど重要ではありません。
Q:CPythonからPyPyへの置き換えを今すぐドロップできないのはなぜですか?
A:PyPyは内部でCPythonをシミュレートしていないため、CPythonと100%互換性がありません。一部のプログラムは、Cバインディング、PythonオブジェクトとメソッドのC実装、CPythonのガベージコレクターのインクリメンタルな性質など、PyPyにはないCPythonのユニークな機能に依存している場合があります。