F: Wenn PyPy diese großen Herausforderungen (Geschwindigkeit, Speicherverbrauch, Parallelität) im Vergleich zu CPython lösen kann, welche Schwächen verhindern eine breitere Akzeptanz?
A: Erstens gibt es kaum Anhaltspunkte dafür, dass das PyPy-Team das Geschwindigkeitsproblem im Allgemeinen lösen kann . Langfristige Beweise zeigen, dass PyPy bestimmte Python-Codes langsamer als CPython ausführt und dieser Nachteil sehr tief in PyPy verwurzelt zu sein scheint.
Zweitens verbraucht die aktuelle Version von PyPy in einer ziemlich großen Anzahl von Fällen viel mehr Speicher als CPython. PyPy hat das Problem des Speicherverbrauchs also noch nicht gelöst.
Ob PyPy die genannten großen Herausforderungen löst und im Allgemeinen schneller, weniger speicherhungrig und parallelitätsfreundlicher als CPython ist, ist eine offene Frage, die kurzfristig nicht gelöst werden kann. Einige Leute wetten, dass PyPy niemals eine allgemeine Lösung anbieten kann, die es ermöglicht, CPython 2.7 und 3.3 in allen Fällen zu dominieren.
Wenn es PyPy gelingt, besser als CPython im Allgemeinen zu sein, was fraglich ist, wird die Hauptschwäche, die sich auf seine breitere Akzeptanz auswirkt, die Kompatibilität mit CPython sein. Es gibt auch Probleme wie die Tatsache, dass CPython auf einer größeren Anzahl von CPUs und Betriebssystemen ausgeführt wird. Diese Probleme sind jedoch im Vergleich zu PyPys Leistungs- und CPython-Kompatibilitätszielen viel weniger wichtig.
F: Warum kann ich CPython jetzt nicht durch PyPy ersetzen?
A: PyPy ist nicht 100% kompatibel mit CPython, da es CPython nicht unter der Haube simuliert. Einige Programme hängen möglicherweise noch von den einzigartigen Funktionen von CPython ab, die in PyPy nicht vorhanden sind, z. B. C-Bindungen, C-Implementierungen von Python-Objekten und -Methoden oder der inkrementellen Natur des Garbage Collector von CPython.