Wydanie PyPy 7.2, implementacji Pythona napisanej w Pythonie

uformowany wydanie projektu PyPy 7.2, w ramach którego opracowano implementację języka Python napisaną w Pythonie (przy użyciu podzbioru o typie statycznym RPyton, Ograniczony Python). Wydanie przygotowane jest jednocześnie dla gałęzi PyPy2.7 i PyPy3.6, zapewniając obsługę składni Pythona 2.7 i Pythona 3.6. Wydanie jest dostępne dla systemów Linux (x86, x86_64, PPC64, s390x, Aarch64, ARMv6 lub ARMv7 z VFPv3), macOS (x86_64), OpenBSD, FreeBSD i Windows (x86).

Cechą szczególną PyPy jest wykorzystanie kompilatora JIT, który na bieżąco tłumaczy niektóre elementy na kod maszynowy, co pozwala na udostępnienie wysoki poziom wydajności – przy wykonywaniu niektórych operacji PyPy jest kilkukrotnie szybszy niż klasyczna implementacja Pythona w języku C (CPython). Ceną dużej wydajności i stosowania kompilacji JIT jest większe zużycie pamięci - całkowite zużycie pamięci w złożonych i długotrwałych procesach (na przykład podczas tłumaczenia PyPy przy użyciu samego PyPy) przekracza zużycie CPythona o półtora do dwóch czasy.

Nowa wersja wyróżnia się stabilizacją obsługi Pythona 3.6, który był wcześniej w wersji beta, oraz implementacją JIT dla architektury Aarch64 (ARM64). Dodano także nowy dekoder JSON, który jest znacznie szybszy, zużywa mniej pamięci i jest zoptymalizowany pod kątem JIT. Moduł CFFI 1.13 (C Foreign Function Interface) został zaktualizowany o implementację interfejsu umożliwiającego wywoływanie funkcji napisanych w językach C i C++. Do współpracy z kodem C zaleca się CFFI, do współpracy z kodem C++ zaleca się cppyy. Moduł _ssl oparty na CFFI został przeniesiony do gałęzi PyPy2.7. Moduły _hashlib i _crypt zostały przekonwertowane do korzystania z CFFI.

Źródło: opennet.ru

Dodaj komentarz