Konge-sproget Python kan få hurtigere tråde

Illustration: Bigstock/Photosvit
Python indtager førstepladsen på kendt rangliste over programmeringssprog, mens endnu et initiativ til at forbedre ydelsen kommer på banen.

Python er populært, og sproget har fortrængt rivalerne fra toppen af hitlisten Tiobe, der gennem tyve år har målt programmeringssprogs popularitet.

C og Java har taget et dyk, og det betyder, at Python nu er nummer ét på indekset.

Metodikker og præmisser for den slags kan altid diskuteres, men det står i hvert fald klart, at andre målinger kommer frem til samme konklusion.

Med populariteten kommer ønsket om at få øget ydelsen i sprogets afviklingsmiljø, der bygger på en kompleks blanding af fortolkning, bytecode og biblioteker skrevet i C.

Mange projekter kigger på mulighederne for at banke ydelsen i vejret, og det er seriøse spillere, der står bag forslagene.

Læs også: Dataanalysefirma støtter op om hurtigere Python

Læs også: Python-skaber vil gøre sproget dobbelt så hurtigt

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

Det seneste bud handler om at ændre et nøgleelement i Python. Det er den såkaldte Global Interpreter Lock (GIL), som holder styr på trådes adgang til objekter, skriver Infoworld.

Låsen har i lang tid været anset som en forhindring i at få bedre ydelse i programmer med flere tråde. Det sidste er svært at undgå, når computeres hastighed øges ved at anvende flere kerner i cpu'erne, som kræver, at kodens arbejdsbyrder fordeles mellem kernerne.

Det nye forslag vil gøre forskel på, hvordan den tråd, der ejer et objekt, håndteres i forhold til andre tråde. Forslaget skulle øge både ydelsen i enkelttrådede og flertrådede programmer med 10 procent i det første tilfælde og omkring 18 til 19 gange ved anvendelse af 20 tråde.

Forslaget kræver dog ændringer i biblioteker, der arbejder direkte med afviklingsmiljøets indmad.

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

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (0)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere