2min

De komende versie 3.11 van programmeertaal Python krijgt een focus op het leveren van betere prestaties. Dat wordt gerealiseerd middels het Faster CPython-project.

Volgens de release notes van de komende versie , die naar verwachting in oktober dit jaar beschikbaar komt, worden de prestaties drastisch verbeterd. Versie 3.5 moet de eerste versie van de programmeertaal zijn die sneller is dan de oude versie 2.7.

Faster CPython

Volgens ingewijden wordt deze prestatieverbetering gerealiseerd door te profiteren van een door Microsoft gefinancierd ontwikkelingsproject, Faster CPython. In Faster CPython is CPython de standaardversie van de ‘interpreter’. Dit is een ‘adaptive specializing interpreter’, die een just-in-time compilertechnologie gebruikt. De interpreter identificeert de code die van deze specialization kan profiteren.

Hierdoor kan een instructie in een code object die meerdere keren is uitgevoerd, worden gespecialiseerd door het te vervangen door een nieuwe instructie. De nieuwe instructie wordt dan sneller uitgevoerd. Uiteindelijk kan de snelheid van de instructies met 50 procent worden opgevoerd. Dit maakt uiteindelijk de hele Python-code sneller.

Aandacht voor geheugengebruik

Naast het versnellen van de instructies, werkt het Faster CPython-project ook aan het versnellen van het voor de programmeertaal gebruikte geheugen. Zeker voor het versnellen van de diverse instructies is sneller geheugen een must.

Hierbij wordt onder meer gesleuteld aan het eigen geheugen van de programmeertaal, in plaats van de system allocator. Binnen het project worden daarom minder calls gemaakt naar de system allocator. In plaats hiervan krijgt de system allocator grotere hoeveelheden calls in één keer toegewezen. Meerdere calls zouden de werking van het geheugen vertragen, terwijl meer snelheid nodig is.

Tip: Eerste betaversie van Python 3.11 beschikbaar