Programmeertalen: sneller Python-project Pyston zet grote stap voorwaarts

0
118

Liam Tung < p class="meta"> Door Liam Tung | 31 augustus 2021 — 13:58 GMT (14:58 BST) | Onderwerp: Enterprise Software

De programmeertaal Python is een hit voor datawetenschaps- en machine learning-projecten op krachtige hardware, maar een van de zwakke punten is snelheid.

Anaconda, een bedrijf dat een toonaangevende distributie van Python voor datawetenschap levert, wil daar verandering in brengen door Pyston te ondersteunen – een nieuwe implementatie van Python die debug-functies voor snelheid afschaft.

Pyston, gemaakt door Kevin Modzelewski, was in mei open source met de belofte van een versnelling van 30% in Python-code. Modzelewski was een ingenieur bij Dropbox, een grote gebruiker van Python en huurde vanaf 2013 de maker van de taal, Guido van Rossum, voor vijf jaar in om de code te verbeteren.

Anaconda heeft nu Modzelewski en mede-hoofdontwikkelaar Marius Wachtler ingehuurd, die de taak hebben gekregen om de gemeenschap van gebruikers, bijdragers en beheerders van het project op te bouwen om de duurzaamheid op lange termijn te waarborgen.

“Ondersteuning van Anaconda stelt ons in staat om Pyston sneller dan ooit in handen te geven van meer gebruikers”, aldus Modzelewski in een verklaring. Anaconda beweert meer dan 25 miljoen gebruikers te hebben.

Pyston voert programma's volgens Anaconda gemiddeld 20% tot 50% sneller uit dan standaard Python.

De Python-implementatie is tussen 2014 en 2017 ontwikkeld bij Dropbox. Het werd in 2020 gelanceerd als een nieuw project als Pyston v2.

Pyston, dat is afgeleid van het officiële CPython van de Python Software Foundation, blijft een open-sourceproject. Met Anaconda zal het project zich richten op het verbeteren van de compatibiliteit met Python's legioen van pakketten die hebben geholpen het dominant te maken in datawetenschap en machine learning, en om Pyston naar meer hardware te brengen.

“De nieuwe Pyston 2.x-serie is een complete herschrijving van de codebase vanaf het begin, beginnend met een fork van CPython 3.8”, zegt Anaconda in een blogpost waarin het zijn plan beschrijft om een ​​universele versneller van alle Python-applicaties te worden.

Hoewel Python een hit is voor machine learning-applicaties die op krachtige hardware draaien, is het niet veel aanwezig in door JavaScript gedomineerde webapplicaties en mobiel.

Anaconda mede-oprichter Peter Wang vertelde ZDNet zei onlangs dat het “ongelooflijk lastig was om Python te gebruiken voor het bouwen en distribueren van applicaties die echte grafische gebruikersinterfaces hebben.”

“Op desktops is Python nooit de eersteklas taal van het besturingssysteem en moet het zijn toevlucht nemen tot frameworks van derden zoals Qt of wxPython”, zei hij.

Naast datawetenschap, liggen de sterke punten van Python in het aan elkaar koppelen van backend-systemen.

Van Rossum, die nu in dienst is van Microsoft, probeert Python twee keer zo snel te maken in Python-versie 3.11 — een stam van drie Python-takken gepland voor 2022. De nieuwste stabiele versie van Python is versie 3.9. 7.

Anaconda is al betrokken geweest bij Python-optimalisatie-, schaalbaarheids- en prestatieprojecten.

“Een van Anaconda's oudste open-sourceprojecten is de Numba-compiler, een op LLVM gebaseerde JIT-compiler voor numerieke Python-functies die op de CPU of GPU draaien. Als gevolg hiervan hebben we lang nagedacht over Python-compilers, en we zie het potentieel voor Python om sneller Python naar een mainstream publiek te brengen. 

“Numba pakt veel numerieke use-cases heel goed aan, maar kan hele programma's niet optimaliseren, en het richt zich niet op de wijdere wereld van Python-use-cases. Pyston komt bij het Python-compilatieprobleem vanuit een andere richting. Toch betekent gemeenschappelijke voorouders met de CPython-interpreter dat Numba “werkt gewoon” ermee, en de twee systemen kunnen samen worden gebruikt binnen hetzelfde programma. Numba kan individuele functies met 2-10x (of meer) versnellen en Pyston kan de prestaties van al het andere verbeteren.”

Anaconda denkt ook dat Pyston-verbeteringen kunnen worden upstreamed naar CPython en aansluiten bij de plannen van Van Rossum bij Microsoft's plannen om Python aanzienlijk te versnellen.

Verwante onderwerpen:

Cloud Big Data Analytics-ontwikkelaar voor innovatietechnologie en werksamenwerking Liam Tung

Door Liam Tung | 31 augustus 2021 — 13:58 GMT (14:58 BST) | Onderwerp: Bedrijfssoftware