PyPy не є форкою CPython, тому його ніколи не можна об'єднати безпосередньо в CPython.
Теоретично спільнота Python могла б повсюдно прийняти PyPy, PyPy могла бути виконана еталонною реалізацією, а CPython може бути припинено. Однак у PyPy є свої слабкі сторони:
- CPython легко інтегрувати з модулями Python, написаними на C, що традиційно так, як додатки Python вирішували завдання, що вимагають процесора (див., Наприклад, проект SciPy).
- Сам крок компіляції PyPy JIT коштує часу процесора - лише завдяки повторному виконанню скомпільованого коду він загалом стає швидшим. Це означає, що час запуску може бути більшим, і тому PyPy не обов'язково є настільки ефективним для запуску клейового коду або тривіальних сценаріїв.
- Поведінка PyPy та CPython не є однаковою в усіх відношеннях, особливо якщо мова йде про "деталі реалізації" (поведінка, яка не визначена мовою, але все ще важлива на практичному рівні).
- CPython працює на більшій кількості архітектур, ніж PyPy, і він був успішно адаптований для роботи у вбудованих архітектурах способами, які можуть бути непрактичними для PyPy.
- Схема опорного підрахунку CPython для управління пам’яттю, мабуть, має більш передбачувані ефекти на продуктивність, ніж різні системи GP PyPy, хоча це не обов'язково стосується всіх «чистих GC» стратегій.
- PyPy ще не повністю підтримує Python 3.x, хоча це активний робочий елемент.
PyPy - це чудовий проект, але швидкість виконання завдань, що вимагають процесора, не все, і в багатьох додатках це найменше з багатьох проблем. Наприклад, Django може працювати на PyPy, і це робить шаблони швидше, але драйвери бази даних CPython швидші, ніж PyPy; Врешті-решт, яка реалізація є більш ефективною, залежить від того, де знаходиться вузьке місце в даній програмі.
Ще один приклад: ви можете подумати, що PyPy буде чудовим для ігор, але більшість стратегій GC, як ті, що використовуються в PyPy, викликають помітне тремтіння. Для CPython більша частина ігор, що вимагає процесора, завантажується в бібліотеку PyGame, якою PyPy не може скористатися, оскільки PyGame в основному реалізований як розширення C (хоча див .: pygame-cffi). Я все ще думаю, що PyPy може бути чудовою платформою для ігор, але я ніколи не бачив, щоб її фактично використовували.
У PyPy та CPython докорінно різні підходи до фундаментальних питань дизайну і роблять різні компроміси, тому жоден не є "кращим", ніж інший у кожному випадку.