Statistiksproget Julia får bedre muligheder med tråde

9. december 2021 kl. 09:212
Statistiksproget Julia får bedre muligheder med tråde
Illustration: Milkos/Bigstock.
Version 1.7 kommer med atomiske udtryk.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Julia får bedre muligheder med tråde.

Det er et sprog til statistik og dataanalyse, ligesom R og Python, men med vægt på ydelse i selve sproget, hvor f.eks. Python opnår god ydelse via hurtige biblioteker skrevet i C og udnyttelse af vektorberegninger på grafikkort.

Når ydelsen i selve sproget skal øges, er det centralt at et program kan paralliseres over flere kerner. Derfor behovet for nemmere brug af tråde – samtidig udførelse af programdele – i Julia.

Version 1.7 er på gaden, og her er en række 'race conditions', hvor flere tråde kan spænde ben for hinanden, blevet fjernet fra Julias kørselsmiljø. Det skriver udviklerbloggen Infoq.

Artiklen fortsætter efter annoncen

Sproget har også fået en ny makro, @atomic, som kan angives ved variabler og udtryk, der kan ændres samtidigt fra flere tråde.

Man kan f.eks. skrive:

  1. y = @atomic a.b.x += 1

– for på atomisk vis at tilgå og inkrementere a.b.x, hvilket vil sige, at kun én tråd af gangen kan udføre sætningen.

Det indebærer, at to tråde kan bruge udtrykket uden at være bange for at skabe en grumset tilstand. Samme mulighed findes i andre sprog, som eksempelvis Javas AtomicInteger. Der er flere makroer i samme genre i den nye udgave, såsom @atomicswap og @atomicreplace.

Blandt andre nyheder er forbedret typeinferens, hvor compileren gætter typen. Det gælder visse slags typeindsnævringer på tværs af funktionskald.

Julias pakkeværktøj kan nu selv finde ud af at downloade og installere pakker, man benytter i sprogets interaktive miljø. Og så er det første udgivelse med understøttelse af Apples M1-processorer, dog foreløbig i en eksperimentel udgave.

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
10. december 2021 kl. 13:29

Mht atomar korrekthed, er der jo behov for andet end blot at kunne skrive @atomic hvis performance også spiller en rolle (gør det jo nok med store data mængder)

Kunne man ikke få en compare and set også ? Det måske det som der menes med @atomicswap og @atomicreplace :)

1
10. december 2021 kl. 09:12

... uden at være bange for at skabe en grumset tilstand.

Måske skulle de overveje at bruge Julia i Statsministeriet? ;o)