PyPy bir CPython çatalı değildir, bu yüzden asla doğrudan CPython ile birleştirilemez.
Teorik olarak Python topluluğu evrensel olarak PyPy'yi benimseyebilir, PyPy referans uygulaması yapılabilir ve CPython durdurulabilir. Ancak, PyPy'nin kendi zayıf yönleri vardır:
- CPython, geleneksel olarak Python uygulamalarının CPU yoğun görevleri yerine getirme biçimi olan C ile yazılmış Python modülleriyle kolayca entegre edilebilir (örneğin SciPy projesine bakın).
- PyPy JIT derleme adımının kendisi CPU zamanına mal olur - sadece derlenmiş kodun tekrar tekrar çalışmasıyla genel olarak daha hızlı hale gelir. Bu, başlatma sürelerinin daha yüksek olabileceği anlamına gelir ve bu nedenle PyPy, yapıştırıcı kodunu veya önemsiz komut dosyalarını çalıştırmak için etkili değildir.
- PyPy ve CPython davranışı her bakımdan özdeş değildir, özellikle "uygulama ayrıntıları" (dil tarafından belirtilmeyen ancak pratik düzeyde hala önemli olan davranış) söz konusu olduğunda.
- CPython, PyPy'den daha fazla mimaride çalışır ve gömülü mimarilerde PyPy için pratik olmayabilecek şekilde başarıyla uyarlanmıştır.
- CPython'un bellek yönetimi için referans sayma şemasının muhtemelen PyPy'nin çeşitli GC sistemlerinden daha öngörülebilir performans etkileri vardır, ancak bu tüm "saf GC" stratejileri için mutlaka doğru değildir.
- PyPy, aktif bir iş öğesi olmasına rağmen Python 3.x'i henüz tam olarak desteklememektedir.
PyPy harika bir projedir, ancak CPU yoğun görevlerde çalışma zamanı hızı her şey değildir ve birçok uygulamada birçok endişenin en azıdır. Örneğin, Django PyPy üzerinde çalışabilir ve bu da templating'i daha hızlı hale getirir, ancak CPython'un veritabanı sürücüleri PyPy'den daha hızlıdır; Sonuçta, hangi uygulamanın daha verimli olduğu, belirli bir uygulamadaki darboğazın nerede olduğuna bağlıdır.
Başka bir örnek: PyPy'nin oyunlar için harika olacağını düşünürsünüz, ancak PyPy'de kullanılanlar gibi çoğu GC stratejisi belirgin bir titremeye neden olur. CPython için, CPU-yoğun oyun malzemelerinin çoğu, PyGy'nin öncelikle bir C uzantısı olarak uygulandığından PyPy'nin yararlanamayacağı PyGame kütüphanesine yüklenir (yine de bkz: pygame-cffi). Hala PyPy'nin oyunlar için harika bir platform olabileceğini düşünüyorum, ama aslında kullanıldığını hiç görmedim.
PyPy ve CPython'un temel tasarım sorularına kökten farklı yaklaşımları var ve farklı ödünleşimler yapıyorlar, bu yüzden ikisi de her durumda diğerinden "daha iyi" değil.