İlgili projelerin tavsiyelerine göre bilginizi geliştirerek ( nasıl ? ) paylaşabilirsiniz .
PyPy
İlk versiyon | 2002 |
---|---|
Son sürüm | 7.3.5 (23 Mayıs 2021) |
Depozito | foss.heptapod.net/pypy/pypy |
Yazılmış | Python ve RPython ( in ) |
İşletim sistemi | Çoklu platform |
Çevre | Çoklu platform |
Tür | Python yorumlayıcı ve derleyici |
Lisans | MIT lisansı |
İnternet sitesi | pypy.org |
PyPy , esnek bir mimariyle Python'da yazılmış Python dilinin bir uygulamasıdır .
Projenin hedeflerinden biri, mevcut C uygulamasından ( CPython ) daha hızlı bir Python sürümü elde etmektir, bu amaca 2000'den beri 1.2 sürümü ile ulaşılmıştır.
PyPy öncelikle bir araştırma ve geliştirme projesidir ve henüz üretime hazır bir Python uygulaması elde etmeye odaklanmamıştır.
PyPy'nin önde gelen geliştiricilerinden biri , neredeyse kullanıcı müdahalesi olmadan Python kodunu 4 ila 100 kat hızlandıran Python için özel bir zaman derleyicisi olan Psyco'yu (in) geliştiren Armin Rigo'dur .
PyPy, nesne alanı kullanımı için Oz dilinden esinlenmiştir . Bu, nesne yönelimi ve değişkenlik, rekabet ve dağıtım vb. yönlerini birleştirmeyi mümkün kılar. aynı dilde.
PyPy iki ana bileşenden oluşur:
Bu iki bileşen bağımsız olarak kullanılabilir: Python yorumlayıcısı, kendisini mevcut başka bir Python yorumlayıcısında çalıştırabilir ve çeviri dizesi, RPython'da yazılmış herhangi bir programa uygulanabilir.
Sürüm 2.2'de sunulan PyPy'nin Python yorumlayıcısı, Python 2.7.3 sürümüne benzer.
PyPy, birkaç fark dışında standart yorumlayıcıya mümkün olduğunca yakındır:
RPython (" sınırlı " için R , Python dilinden birbirini takip eden iki aşamada tanımlanır:
Analiz edilen nesnelerin ana kısıtlamaları şunlardır:
Dinamik bir dilde yazıldığı için PyPy, bir yorumlayıcının farklı yönlerini ayırmayı kolaylaştırır ve Python uygulamasının geliştirilebileceği alanların belirlenmesini sağlar. Ayrıca geliştiricilerin belirli işlevlerin birden çok uygulamasını denemelerine olanak tanır.
Bir çöp toplayıcı tarafından gerçekleştirilen belleğin yönetimi için, üç farklı alt sistem arasından seçim yapılabilir:
RPython ile yazılmış PyPy yorumlayıcısının çevirisi farklı dillerde yapılabilir: