P: Se o PyPy pode resolver esses grandes desafios (velocidade, consumo de memória, paralelismo) em comparação com o CPython, quais são seus pontos fracos que impedem uma adoção mais ampla?
R: Primeiro, há poucas evidências de que a equipe do PyPy possa resolver o problema de velocidade em geral . Evidências de longo prazo mostram que o PyPy executa certos códigos Python mais lentamente que o CPython e essa desvantagem parece estar profundamente enraizada no PyPy.
Em segundo lugar, a versão atual do PyPy consome muito mais memória que o CPython em um conjunto bastante grande de casos. Portanto, o PyPy ainda não resolveu o problema de consumo de memória.
Se o PyPy resolve os grandes desafios mencionados e, em geral, será mais rápido, com menos memória e mais amigável ao paralelismo do que o CPython, é uma questão em aberto que não pode ser resolvida a curto prazo. Algumas pessoas estão apostando que o PyPy nunca poderá oferecer uma solução geral que permita dominar o CPython 2.7 e 3.3 em todos os casos.
Se o PyPy conseguir ser melhor que o CPython em geral, o que é questionável, a principal fraqueza que afeta sua adoção mais ampla será a compatibilidade com o CPython. Também existem questões como o fato de o CPython ser executado em uma ampla variedade de CPUs e sistemas operacionais, mas essas questões são muito menos importantes em comparação com o desempenho do PyPy e os objetivos de compatibilidade com o CPython.
P: Por que não posso substituir o CPython pelo PyPy agora?
R: O PyPy não é 100% compatível com o CPython, porque não está simulando o CPython. Alguns programas ainda podem depender dos recursos exclusivos do CPython ausentes no PyPy, como ligações C, implementações C de objetos e métodos Python ou a natureza incremental do coletor de lixo do CPython.