Pyston 2, JIT derleyicili bir Python uygulaması

Geliştirmede üç yıllık bir aradan sonra, Pyston 2 projesinin lansmanı yayınlandı, ne geliştirdimPython dilinin yüksek performanslı bir uygulamasına LLVM projesinin gelişimlerini kullanarak.

Hayata geçirme modern JIT derleme teknolojilerinin kullanımıyla öne çıkıyor ve C ++ gibi geleneksel sistem dillerine benzer yüksek performans elde etmeyi amaçlamaktadır.

Önceki sürümlerdeki kod Pyston tarafından Apache lisansı altında dağıtıldı, ancak Pyston 2 kodu henüz mevcut değil ve Ubuntu 18.04 ve 20.04 için yalnızca kullanıma hazır derlemeler yayınlandı (kod içeren bir dosya indirilebilir ancak projenin hala kapalı olduğu bilgisini içeren yalnızca bir saplama var) .

Kodu yayınlamak, geliştiricilerin planlarının bir parçasıdırama bu yapılacak iş modeli oluşumu tamamlandıktan sonra Pyston'u Dropbox'ın finansal desteği olmadan geliştirmeye devam etmeye karar verildi.

Pyston 2 hakkında

Önceki sürümlerin aksine, Pyston 2 kararlı olarak işaretlendi ve deneme sürümü olarak değil. Performansı optimize etmek için çok çalışma yapıldı ve Pyston 2, python-macrobenchmark test paketini geçerken orijinal Python 3.8'den yaklaşık% 20 daha hızlı.

En dikkate değer performans kazançları, doğal web uygulaması iş yüklerinde görülmektedir. Chaos.py ve nbody.py gibi ayrı testlerde Pyston 2, Python 3.8'i 2 kat geride bırakıyor. JIT kullanmanın maliyeti bellek tüketiminde hafif bir artış.

Python programlama dilinin daha hızlı ve son derece uyumlu bir uygulaması olan Pyston v2'yi yayınlayacağımız için çok heyecanlıyız. Sürüm 2, makro işaretlerimizdeki standart Python 20'den% 3.8 daha hızlıdır. Daha da önemlisi, kodunuzda muhtemelen daha hızlıdır. Pyston v2, sunucu maliyetlerini azaltabilir, kullanıcı gecikmelerini azaltabilir ve geliştirici üretkenliğini artırabilir.

Pyston v2'nin uygulanması kolaydır, bu nedenle daha iyi Python performansı arıyorsanız, beş dakikanızı ayırıp Pyston'ı denemenizi öneririz. Bunu yapmak, projenizi hızlandırmanın en kolay yollarından biridir.

Uyumluluk açısından yerel Python ile Pyston projesi CPython için en uyumlu alternatif uygulama olarak lanse edildi, çünkü Pyston ana CPython kod tabanının bir çatalı.

Piston tüm CPython işlevlerini destekler, C uzantıları geliştirmek için C API dahil. Pyston, ilk olarak 2017'de dahili geliştirmeyi durdurmaya karar veren Dropbox tarafından geliştirildi. 2020'nin başlarında, Pyston'ın en iyi geliştiricileri şirketlerini kurdular, projeyi tamamen yeniden keşfettiler ve Pyston'da tam zamanlı çalışmaya başladılar.

Pyston 2 dolgusu ile ilgili teknik ayrıntılar henüz sağlanmamıştır, yalnızca DynASM JIT, satır içi önbelleğe alma ve genel CPython optimizasyonlarından bahsedilmektedir. Pyston'un önceki sürümü, modern JavaScript motorlarındaki JIT'e benzer şekilde, her seferinde bir JIT yöntemi kullanıyordu.

JIT'de Python kodu ayrıştırıldı ve çevrildi bir ara gösterime LLVM (IR, Ara gösterim). Ayrıca, IR gösterimi LLVM optimizer'da işlendi ve IR gösterimini makine koduna dönüştüren yürütme için LLVM JIT motoruna geçti.

Dinamik Python dilindeki programlar için değişken türleri hakkında bilgi elde etmek için, nesne türlerinin olasılıksal tahmini tekniği kullanıldı, ardından yürütme sırasında doğru tür seçiminin açıklığa kavuşturulması izledi.

Bu nedenle Pyston, iki dal arasındaki uygulamayı sürekli olarak değiştirdi: tahmin edilen oranlar onaylandığında hızlı olan ve bir tür uyuşmazlığı durumunda kullanılan yavaş olan.

İş, çok iş parçacıklı modda yapılabilir, Python dilinde birkaç kod dizisinin paralel yürütülmesine izin verir ve genel yorumlayıcı kilidinden (GIL) bağımsızdır.

Nihayet onun hakkında daha fazlasını bilmek istiyorsanayrıntılarını kontrol edebilirsiniz. aşağıdaki bağlantı.


Makalenin içeriği şu ilkelerimize uygundur editoryal etik. Bir hata bildirmek için tıklayın burada.

İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak.

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.