in tegenstelling tot andere programmeertalen legt Python veel nadruk op de leesbaarheid van code. De eenvoudige en expressieve syntaxis stelt ontwikkelaars verder in staat om functionaliteit toe te voegen aan softwaretoepassingen zonder het schrijven van lange en complexe code. Python is ook een van de meest dynamische programmeertalen. De programmeurs kunnen Python op een aantal manieren implementeren. Ze hebben zelfs de mogelijkheid om te kiezen uit verschillende implementaties van Python. De standaard implementatie van Python programmeertaal is CPython.
ondanks het feit dat het geschreven is in de programmeertaal C, wordt CPython gedistribueerd als een standaard Python bibliotheek. Het compileert de Python broncode naar een tussenliggende bytecode. De tussenliggende bytecode wordt uitgevoerd door de CPython virtuele Machine. Veel programmeurs kiezen voor CPython vanwege de compatibiliteit met een breed scala aan Python-pakketten en c-uitbreidingsmodules. Maar CPython compilatie maakt Python langzamer dan verschillende gecompileerde programmeertalen en vereiste extra serverbronnen.
daarom kiezen veel programmeurs voor alternatieve Python-implementatie om de uitvoersnelheid van code te verhogen. Ze hebben zelfs de mogelijkheid om te kiezen uit verschillende alternatieven voor CPython-Jython, IronPython, Cython, PyPy en CLPython. Maar een groot percentage Python-programmeurs verkiezen PyPy boven andere implementaties vanwege de optimale prestaties en snelheid. In tegenstelling tot andere implementaties, PyPy is geschreven in Python programmeertaal. Het maakt zelfs gebruik van een interpreter die is geschreven in een subset van Python programmeertaal — RPython.
PyPy verhoogt de uitvoersnelheid van Python-code drastisch door just-In-time (JIT) – compilatie. Het maakt gebruik van JIT-compilatiemethoden om de efficiëntie en prestaties van het tolksysteem te verbeteren. De JIT compiler verder maakt PyPy draaien zowel korte en lange Python programma ‘ s veel sneller dan soortgelijke implementaties. Verschillende studies suggereren zelfs dat PyPy ongeveer 7,5 keer sneller is dan CPython. Elke nieuwe versie van PyPy komt verder met verbeterde prestaties en voert Python-programma ‘ s sneller uit dan zijn voorganger.
waarom geven ontwikkelaars de voorkeur aan PyPy boven andere implementaties van Python?
Jit compilatie
PyPy heeft als doel de uitvoeringssnelheid van elk Python-programma te optimaliseren. Het wordt geleverd met een ingebouwde JIT compiler. Het maakt zelfs gebruik van JIT compilatiemethoden om zowel eenvoudige en grote Python programma ‘ s uit te voeren mush sneller dan de standaard Python implementatie. Vandaar dat veel ontwikkelaars kiezen voor PyPy om grote en complexe Python toepassingen sneller draaien.
Verminderd geheugengebruik
naast het verhogen van de uitvoertijd van code, zorgt PyPy er ook voor dat Python-programma ‘ s minder geheugen verbruiken. Echter, de daling van het geheugengebruik kan verschillen van het ene programma naar het andere. Maar PyPy maakt nog steeds Python programma ‘ s verbruiken minder geheugen dan CPython.
Stackless Python ondersteuning
PyPy ondersteunt verder een verbeterde versie van Python programmeertaal — Stackless Python. Stackless Python wordt uitgevoerd thread – gebaseerde programma ‘ s efficiënter dan Python. Het helpt zelfs programmeurs om een aantal van de complexiteit en prestaties problemen met betrekking tot conventionele threads te voorkomen. Tijdens het gebruik van PyPy, de programmeurs kunnen zelfs versnellen toepassingen door het schrijven van code in gelijktijdige stijl.
een andere Sandboxing-aanpak
PyPy gebruikt verder een sandboxing-aanpak die programmeurs in staat stelt om onbetrouwbare Python-programma ‘ s efficiënter te draaien. De sandboxing-aanpak vereist niet dat programmeurs het gebruik van taalfuncties beperken die als onveilig worden beschouwd. In plaats daarvan vervangt het de oproep van het Python programma naar externe bibliotheken met een stub. De stub werkt samen met bibliotheken van derden op basis van het procesafhandelingsbeleid. De sandboxing-aanpak is echter nog steeds een werkend prototype.
over het algemeen is PyPy veel sneller dan andere implementaties van Python. Zoals uit verschillende studies blijkt, is het ongeveer 7,5 keer sneller dan CPython. Ook, elke nieuwe versie van PyPy wordt geleverd met verbeterde prestaties. Maar de uitvoeringstijd kan van programma tot programma verschillen. Volgens specifieke studies, PyPy voert pure Python code veel sneller de programma ‘ s c gecodeerde functies. Vandaar, Python ontwikkelaars moeten rekening houden met de voors en tegens van PyPy om Python code uitvoering snelheid te optimaliseren.