В: Если PyPy может решить эти сложные задачи (скорость, потребление памяти, параллелизм) по сравнению с CPython, каковы его слабые стороны, мешающие более широкому внедрению?
A: Во-первых, мало доказательств того, что команда PyPy может решить проблему скорости в целом . Многолетние свидетельства показывают, что PyPy запускает некоторые коды Python медленнее, чем CPython, и этот недостаток, похоже, очень глубоко укоренен в PyPy.
Во-вторых, текущая версия PyPy потребляет намного больше памяти, чем CPython в довольно большом количестве случаев. Так что PyPy еще не решил проблему потребления памяти.
Если PyPy решает упомянутые большие проблемы и в целом будет быстрее, меньше память голодная, и более дружественной к параллельности , чем CPython является открытым вопросом , который не может быть решен в краткосрочной перспективе. Некоторые люди держат пари, что PyPy никогда не сможет предложить общее решение, позволяющее ему доминировать над CPython 2.7 и 3.3 во всех случаях.
Если PyPy окажется лучше, чем CPython в целом, что сомнительно, то основным недостатком, влияющим на его более широкое применение, будет его совместимость с CPython. Также существуют проблемы, такие как тот факт, что CPython работает на более широком диапазоне процессоров и операционных систем, но эти проблемы гораздо менее важны по сравнению с целями PyPy по производительности и совместимости с CPython.
В: Почему я не могу сделать замену CPython на PyPy сейчас?
A: PyPy не на 100% совместим с CPython, потому что он не имитирует CPython. Некоторые программы могут по-прежнему зависеть от уникальных возможностей CPython, которые отсутствуют в PyPy, таких как привязки C, реализации C объектов и методов Python или инкрементный характер сборщика мусора CPython.