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.

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.

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.

Læs også: Her er nyhederne i Python 3.10: Match er en ren schweizerkniv

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.

Læs også: Open source-projekter gør Python-programmer hurtigere

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

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (2)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#2 Sune Marcher

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.

  • 2
  • 0
Log ind eller Opret konto for at kommentere