i modsætning til andre programmeringssprog lægger python stor vægt på kodelæsbarhed. Dens enkle og udtryksfulde syntaks giver yderligere udviklere mulighed for at tilføje funktionalitet til programmer uden at skrive langvarig og kompleks kode. Python er også et af de mest dynamiske programmeringssprog. Programmørerne kan implementere Python på en række måder. De har endda mulighed for at vælge mellem flere implementeringer af Python. Standard implementering af Python programmeringssprog er CPython.
På trods af at den er skrevet i C programmeringssprog, distribueres CPython som et standard Python-bibliotek. Det samler Python kildekoden til en mellemliggende bytekode. Den mellemliggende bytecode udføres af CPython virtuelle maskine. Mange programmører vælger CPython på grund af dets kompatibilitet med en bred vifte af Python-pakker og C-udvidelsesmoduler. Men CPython-kompilering gør Python langsommere end forskellige kompilerede programmeringssprog og krævede yderligere serverressourcer.
derfor vælger mange programmører alternativ Python-implementering for at øge kodeudførelseshastigheden. De har endda mulighed for at vælge mellem flere alternativer til CPython — Jython, IronPython, Cython, PyPy og CLPython. Men en stor procentdel af Python-programmører foretrækker PyPy frem for andre implementeringer på grund af dens optimale ydelse og hastighed. I modsætning til andre implementeringer er PyPy skrevet i Python programmeringssprog. Det bruger endda en tolk, der er skrevet i en delmængde af Python programmeringssprog — RPython.
PyPy øger Python kode udførelse hastighed drastisk gennem just-in-time (JIT) kompilering. Det udnytter JIT kompilering metoder til at forbedre effektiviteten og ydeevnen af tolkesystemet. JIT compiler yderligere gør PyPy køre både korte og lange Python programmer meget hurtigere end lignende implementeringer. Flere undersøgelser tyder endda på, at PyPy er omkring 7,5 gange hurtigere end CPython. Hver ny version af PyPy kommer yderligere med forbedret ydeevne og udfører Python-programmer hurtigere end sin forgænger.
hvorfor udviklere foretrækker PyPy til andre implementeringer af Python?
Jit-kompilering
PyPy sigter mod at optimere eksekveringshastigheden for hvert Python-program. Den leveres med en indbygget JIT compiler. Det bruger endda JIT kompileringsmetoder til at udføre både enkle og store Python programmer mush hurtigere end standard Python implementering. Derfor vælger mange udviklere PyPy at køre store og komplekse Python-applikationer hurtigere.
Reduceret hukommelsesforbrug
ud over at øge kodeudførelsestiden får PyPy også Python-programmer til at forbruge mindre hukommelse. Faldet i hukommelsesforbrug kan dog variere fra et program til et andet. Men PyPy får stadig Python-programmer til at forbruge mindre hukommelse end CPython.
Stackless Python Support
PyPy understøtter yderligere en forbedret version af Python programmeringssprog — Stackless Python. Stackless Python udføres trådbaserede programmer mere effektivt end Python. Det hjælper endda programmører med at undgå nogle af kompleksiteten og ydelsesproblemerne i forbindelse med konventionelle tråde. Mens du bruger PyPy, kan programmørerne endda fremskynde applikationer ved at skrive kode i samtidig stil.
en anden Sandkassetilgang
PyPy vedtager yderligere en sandkassetilgang, der gør det muligt for programmører at køre ikke-betroede Python-programmer mere effektivt. Sandkassemetoden kræver ikke, at programmører begrænser brugen af sprogfunktioner, der betragtes som usikre. I stedet erstatter det opkaldet fra Python-programmet til eksterne biblioteker med en stub. Stubben interagerer med tredjepartsbiblioteker baseret på proceshåndteringspolitikken. Sandkassemetoden er dog stadig en fungerende prototype.
i det store og hele er PyPy meget hurtigere end andre implementeringer af Python. Som fremhævet af flere undersøgelser er det omkring 7,5 gange hurtigere end CPython. Også, hver ny version af PyPy kommer med forbedret ydeevne. Men udførelsestiden kan variere fra et program til et andet. Ifølge specifikke undersøgelser udfører PyPy ren Python-kode meget hurtigere de programmer, der kalder C-kodede funktioner. Derfor skal Python-udviklere huske fordele og ulemper ved PyPy for at optimere Python-kodeudførelseshastigheden.