más programozási nyelvektől eltérően a python nagymértékben hangsúlyozza a kód olvashatóságát. Egyszerű és kifejező szintaxisa lehetővé teszi a fejlesztők számára, hogy funkcionalitást adjanak a szoftveralkalmazásokhoz hosszadalmas és összetett kód írása nélkül. A Python az egyik legdinamikusabb programozási nyelv. A programozók számos módon megvalósíthatják a Pythont. Még a Python több implementációja közül is választhatnak. A Python programozási nyelv alapértelmezett megvalósítása a CPython.
annak ellenére, hogy C programozási nyelven íródott, a CPython szabványos Python könyvtárként kerül terjesztésre. Lefordítja a Python forráskódját egy közbenső bájtkódra. A közbenső bájtkódot a CPython virtuális gép hajtja végre. Sok programozó választja a Cpythont, mivel kompatibilis a Python csomagok és a C kiterjesztésű modulok széles skálájával. De a CPython összeállítása miatt a Python lassabb, mint a különböző lefordított programozási nyelvek, és további szerver erőforrásokra van szükség.
ezért sok programozó alternatív Python implementációt választ a kódfuttatás sebességének növelése érdekében. Még a CPython számos alternatívája közül is választhatnak — Jython, IronPython, Cython, PyPy és CLPython. De a Python programozók nagy százaléka az optimális teljesítmény és sebesség miatt a PyPy-t részesíti előnyben más implementációkkal szemben. Más implementációktól eltérően a PyPy Python programozási nyelven íródott. Még egy tolmácsot is használ, amelyet a Python programozási nyelv egy részhalmazában írnak-RPython.
a PyPy drasztikusan növeli a Python kódfuttatási sebességét a just-in-time (JIT) összeállítás révén. Kihasználja a JIT fordítási módszereket a tolmácsrendszer hatékonyságának és teljesítményének növelése érdekében. A JIT fordító tovább teszi a PyPy futtatását mind a rövid, mind a hosszú Python programok sokkal gyorsabban, mint a hasonló megvalósítások. Számos tanulmány azt is sugallja, hogy a PyPy körülbelül 7,5-szer gyorsabb, mint a CPython. A PyPy minden új verziója jobb teljesítményt nyújt, és gyorsabban hajtja végre a Python programokat, mint elődje.
miért kedvelik a fejlesztők a pypy-t a Python más Implementációival szemben?
JIT Compilation
a PyPy célja az egyes Python programok végrehajtási sebességének optimalizálása. Jön egy beépített JIT fordító. Még a JIT fordítási módszereket is használja mind az egyszerű, mind a nagy Python programok gyorsabb végrehajtására, mint az alapértelmezett Python megvalósítás. Ezért sok fejlesztő a pypy-t választja a nagy és összetett Python alkalmazások gyorsabb futtatásához.
csökkentett memóriafelhasználás
a kódfuttatási idő növelése mellett a pypy a Python programok kevesebb memóriát is fogyaszt. A memóriahasználat csökkenése azonban programonként eltérhet. De a PyPy még mindig arra készteti a Python programokat, hogy kevesebb memóriát fogyasztanak, mint a CPython.
Stackless Python támogatás
a PyPy tovább támogatja a Python programozási nyelv továbbfejlesztett változatát-Stackless Python. Stackless Python végre szál alapú programok hatékonyabban, mint a Python. Még a programozóknak is segít elkerülni a hagyományos szálakkal kapcsolatos komplexitási és teljesítményproblémákat. A PyPy használata közben a programozók akár az alkalmazásokat is felgyorsíthatják, ha egyidejű stílusban írnak kódot.
egy másik Sandboxing megközelítés
a PyPy tovább alkalmaz egy sandboxing megközelítést, amely lehetővé teszi a programozók számára a nem megbízható Python programok hatékonyabb futtatását. A sandboxing megközelítés nem követeli meg a programozóktól, hogy korlátozzák a nem biztonságosnak tekintett nyelvi funkciók használatát. Ehelyett helyettesíti a Python programból a külső könyvtárakba kezdeményezett hívást egy csonkkal. A csonk a folyamatkezelési házirend alapján együttműködik harmadik féltől származó könyvtárakkal. A homokozó megközelítés azonban továbbra is működő prototípus.
összességében a pypy sokkal gyorsabb, mint a Python többi implementációja. Amint azt több tanulmány is kiemelte, körülbelül 7,5-szer gyorsabb, mint a CPython. Ezenkívül a PyPy minden új verziója jobb teljesítményt nyújt. De a végrehajtási idő programonként eltérhet. Konkrét tanulmányok szerint a PyPy sokkal gyorsabban hajtja végre a tiszta Python kódot, mint a C kódolt függvényeket hívó programok. Ezért a Python fejlesztőknek szem előtt kell tartaniuk a pypy előnyeit és hátrányait, hogy optimalizálják a Python kódfuttatási sebességét.