Julia, programmeringsspråket på tvers av plattformer når sin versjon 1.9

julia lang

ulia er et dynamisk, høyt nivå, høyytelsesspråk for teknisk databehandling.

Noen dager siden utgivelsen av den nye versjonen av programmeringsspråket Julia 1.9 ble annonsert, som kombinerer kvaliteter som høy ytelse, støtte for dynamisk skriving og innebygde verktøy for parallell programmering. Julias syntaks er nær MATLAB, med noen elementer lånt fra Ruby og Lisp.

Julia skiller seg ut for å være et multi-plattform og multi-paradigme programmeringsspråk med dynamisk skriving Høyt nivå, høyytelsesrammeverk for generisk, teknisk og vitenskapelig databehandling, med en syntaks som ligner på andre lignende datamiljøer.

Hovednyhetene om Julia 1.9

I denne nye versjonen av Julia 1.9 som presenteres, er det flere forbedringer i kjøretid/kompilator, siden det var Betydelig reduksjon i tid til første løp. Pakkeforkompilering lagrer nå den opprinnelige koden i "pkgimage", noe som betyr at kode generert under prekompilering ikke trenger å bli rekompilert etter at pakken er lastet. Bruken av pkgimages-modus kan deaktiveres med alternativet “–pkgimages=no”.

En annen av endringene som skiller seg ut er anrop med ikke-typespesifikke argumenter kan nå optimaliseres via join split for injeksjon eller statisk oppløsning, selv om det er flere ulike typer innleveringskandidater. Dette kan forbedre ytelsen i visse situasjoner der objekttyper ikke er fullstendig løst statisk, ved statisk oppløsning av anropssteder "@nospecialize-d" og unngå rekompilering.

Enkelttegnsliteraler støtter nå samme syntaks som strengliteraler; disse syntaksen kan representere ugyldige UTF-8-sekvenser, som tillatt av Char-typen.

I tillegg til det, på Linux og Windows, alternativet «--tråder=auto» prøver nå å bestemme antall tilgjengelige prosessorer basert på CPU-tilhørighet, som er en maske som vanligvis er satt i HPC- og skymiljøer.

Alternativet er deaktivert--mattemodus=rask", i stedet for som det anbefales å bruke makroen "@fastmath", som har veldefinert semantikk, i tillegg til parameteren "–Tråder» har nå formatet «bil | N[,auto|M]», der M angir antall interaktive tråder som skal opprettes.

Lagt til alternativ «--heap-size-hint=» for å angi terskelen som aktiv søppelinnsamling begynner etter. Størrelsen kan angis i byte, kilobyte (1000 KB), megabyte (300 MB) eller gigabyte (1,5 GB).

Makroen "@invoke". introdusert i versjon 1.7 er nå eksportert og tilgjengelig for bruk. I tillegg, bruk nå "Core.Typeof(x)"-metoden i stedet for "Noen" når typekommentaren for argumentet "x" er utelatt. Dette er nødvendig for at typer som sendes som argumenter skal behandles riktig.

Videre "Threads.@spawn" har nå et valgfritt første argument av ":default" eller ":interactive". En interaktiv oppgave krever en lav latensrespons og er designet for å være kort eller hyppig. Interaktive oppgaver vil kjøre på interaktive tråder hvis de er spesifisert når du starter Julia.

Av andre endringer som skiller seg ut:

  • Negering av predikatfunksjonen "!f" returnerer nå en sammensatt funksjon "(!) ∘ f" i stedet for en anonym funksjon.
  • Dimensjonsdelte funksjoner fungerer nå på flere dimensjoner: «hver skive, "hver row" og "hver koll" returnere et objekt "Slices» som gjør at frakt kan tilby mer effektive metoder.
  • Makroen «@kwdef» har blitt lagt til den offentlige API.
  • Rettet et problem med rekkefølgen av operasjoner i "fld1".
  • Sorteringen er nå alltid stabil over tid (Redesignet QuickSort).
  • Standard antall BLAS-tråder er nå lik antall CPU-tråder på ARM-arkitektur og halvparten av antall CPU-tråder på andre arkitekturer.
  • Printf: Omarbeidede feilmeldinger for misformede strenger for bedre lesbarhet.
  • Profil: Ny funksjon "Profile.take_heap_snapshot(file)" som skriver en fil i JSON-basert ".heapsnapshot"-format som støttes av Chrome.
  • Lagt til støtte for Unicode 15-spesifikasjonen.
  • Nestede kombinasjoner av tupler og navngitte tegntupler kan nå brukes som typeparametere.

Til slutt, hvis du er interessert i å vite mer om det, kan du se detaljene I den følgende lenken.


Legg til som foretrukket kilde i Google