P: Si PyPy puede resolver estos grandes desafíos (velocidad, consumo de memoria, paralelismo) en comparación con CPython, ¿cuáles son sus debilidades que impiden una adopción más amplia?
R: Primero, hay poca evidencia de que el equipo de PyPy pueda resolver el problema de la velocidad en general . La evidencia a largo plazo muestra que PyPy ejecuta ciertos códigos de Python más lentamente que CPython y este inconveniente parece estar muy arraigado en PyPy.
En segundo lugar, la versión actual de PyPy consume mucha más memoria que CPython en un conjunto bastante grande de casos. Así que PyPy todavía no resolvió el problema del consumo de memoria.
Si PyPy resuelve los grandes desafíos mencionados y, en general, será más rápido, menos hambriento de memoria y más amigable al paralelismo que CPython es una pregunta abierta que no se puede resolver a corto plazo. Algunas personas apuestan a que PyPy nunca podrá ofrecer una solución general que le permita dominar CPython 2.7 y 3.3 en todos los casos.
Si PyPy logra ser mejor que CPython en general, lo cual es cuestionable, la principal debilidad que afecta su adopción más amplia será su compatibilidad con CPython. También existen problemas como el hecho de que CPython se ejecuta en una gama más amplia de CPU y sistemas operativos, pero estos problemas son mucho menos importantes en comparación con el rendimiento de PyPy y los objetivos de compatibilidad de CPython.
P: ¿Por qué no puedo dejar de reemplazar CPython con PyPy ahora?
R: PyPy no es 100% compatible con CPython porque no simula CPython debajo del capó. Algunos programas aún pueden depender de las características únicas de CPython que están ausentes en PyPy, tales como enlaces C, implementaciones C de objetos y métodos de Python, o la naturaleza incremental del recolector de basura de CPython.