Python-skaber vil gøre sproget dobbelt så hurtigt

19. maj 2021 kl. 10:032
Python-skaber vil gøre sproget dobbelt så hurtigt
Illustration: Dan Stroud.
Guido van Rossum vil øge ydelsen sammen med et lille hold hos Microsoft.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Pythons opfinder, Guido van Rossum, vil gøre sproget meget hurtigere. Han havde ellers forladt Python-miljøet efter at have smækket med døren. Men otiummet blev for kedeligt, og Guido van Rossum vendte tilbage til arbejdsmarkedet, først hos Dropbox og nu hos Microsoft.

Guido van Rossum har samlet et mindre udviklingshold til at øge Python-programmers ydelse, skriver The Register.

I en præsentation til konferencen Python Language Summit har Guido van Rossum blotlagt sine tanker.

Den danske ekspert i virtuelle maskiner Lars Bak vurderer, at sprog som Python og Javascript kan opnå omkring halvdelen af den ydelse, som typestærke sprog, der også afvikles i en virtuel maskine, såsom Java og C#, kan præstere.

Artiklen fortsætter efter annoncen

Derfor er der grund til at presse citronen så meget som muligt. Af Guido van Rossums præsentation fremgår det, at ydelsen i Pythons virtuelle maskine måske kan øges med en faktor to til ti. Ændringerne skal udmøntes i små portioner, der gradvist kan tilføjes til Python. Begrænsningerne er, at stabile binære snitflader ikke må ændres, og kodens nuværende adfærd må ikke ændres for meget.

Men sproget kan ændres bag scenen. Det gælder den virtuelle maskines bytecode-instrukser, stakkens udformning, compiler og fortolker, og objekter, hvis indmad ikke er offentlig. Guido van Rossum er ikke sikker på, at fordoblingen i ydelse er mulig at nå, men holdets udviklere er »optimistiske og nysgerrige.«

Der er også andre projekter, der ser på forbedringer af Pythons ydeevne. Det drejer sig om Cinder, der kommer fra Instagram, og Pyston, som har sin oprindelse hos Dropbox.

Pyston benytter just-in-time-kompilering og andre kneb til at øge hastigheden. Den seneste udgave skulle give omkring 30 procents forbedring i afviklingshastighed.

2 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
2
20. maj 2021 kl. 12:08

Hvorfor egentligt ikke oversætte bytecode libraries til native maskinkode når de installeres?

Det er generelt ikke trivielt – og Python er både dynamisk og supporter introspection, hvilket giver flere hovedpiner.

Hvis man har behov for den slags performance, er man IMHO bedre tjent med et sprog designet til formålet. Python er OK som glue til high-performance libraries med C ABI, men det er lidt trist med alle de kræfter der bliver brugt på at optimere sprog (ikke kun Python) med design der gør performanceoptimeringer svære.

1
20. maj 2021 kl. 07:51

Hvorfor egentligt ikke oversætte bytecode libraries til native maskinkode når de installeres?

Langt den største del af eksekveringen af et sprog i dag, ligger jo i libraries.