Julia, programmeringssproget på tværs af platforme når sin version 1.9

julia lang

ulia er et dynamisk højtydende sprog til teknisk databehandling på højt niveau.

Få dage siden udgivelsen af ​​den nye version af programmeringssproget Julia 1.9 blev annonceret, som kombinerer kvaliteter som høj ydeevne, understøttelse af dynamisk skrivning og indbyggede værktøjer til parallel programmering. Julias syntaks er tæt på MATLAB, med nogle elementer lånt fra Ruby og Lisp.

Julia skiller sig ud for at være et multi-platform og multi-paradigme programmeringssprog med dynamisk skrivning Højtydende ramme for generisk, teknisk og videnskabelig databehandling med en syntaks svarende til den i andre lignende computermiljøer.

Vigtigste nyheder om Julia 1.9

I denne nye version af Julia 1.9, der præsenteres, er der flere forbedringer i runtime/compiler, siden der var Betydelig reduktion i tid til første kørsel. Pakkeprækompilering gemmer nu den oprindelige kode i "pkgimage", hvilket betyder, at kode genereret under prækompilering ikke skal rekompileres efter indlæsning af pakken. Brugen af ​​pkgimages-tilstand kan deaktiveres med indstillingen "–pkgimages=no".

En anden af ​​de ændringer, der skiller sig ud, er opkald med ikke-typespecifikke argumenter kan nu optimeres via join split til injektion eller statisk opløsning, selvom der er flere forskellige typer af afleveringskandidater. Dette kan forbedre ydeevnen i visse situationer, hvor objekttyper ikke er fuldt opløst statisk, ved statisk at løse opkaldssteder "@nospecialize-d" og undgå genkompilering.

Enkelttegnsliteraler understøtter nu den samme syntaks som strengliteraler; disse syntaks kan repræsentere ugyldige UTF-8-sekvenser, som tilladt af Char-typen.

Ud over det, på Linux og Windows, muligheden «--tråde=auto» forsøger nu at bestemme det tilgængelige antal processorer baseret på CPU-affinitet, som er en maske, der typisk er sat i HPC- og cloud-miljøer.

Indstillingen er blevet deaktiveret--math-mode=hurtig", i stedet for som det anbefales at bruge makroen "@fastmath", som har veldefineret semantik, ud over parameteren "-Tråde» har nu formatet «bil | N[,auto|M]», hvor M angiver antallet af interaktive tråde, der skal oprettes.

Tilføjet mulighed «--heap-size-tip=» for at indstille den tærskel, hvorefter aktiv affaldsindsamling begynder. Størrelsen kan angives i byte, kilobyte (1000 KB), megabyte (300 MB) eller gigabyte (1,5 GB).

Makroen "@invoke". introduceret i version 1.7 er nu eksporteret og tilgængelig til brug. Udover, brug nu "Core.Typeof(x)" metoden hellere "Enhver" når typeannotationen for argumentet "x" er udeladt. Dette er påkrævet, for at typer, der sendes som argumenter, behandles korrekt.

Endvidere "Threads.@spawn" har nu et valgfrit første argument ":default" eller ":interactive". En interaktiv opgave kræver en lav latensrespons og er designet til at være kort eller hyppig. Interaktive opgaver kører på interaktive tråde, hvis de er angivet, når Julia startes.

Af andre ændringer, der skiller sig ud:

  • Negering af prædikatfunktionen "!f" returnerer nu en sammensat funktion "(!) ∘ f" i stedet for en anonym funktion.
  • Dimensionsopdelte funktioner fungerer nu på flere dimensioner: «hver skive, "hver række" og "hver kold" returnere et objekt "Skiver» som gør det muligt for forsendelse at levere mere effektive metoder.
  • Makroen «@kwdef» er blevet tilføjet til den offentlige API.
  • Rettede et problem med rækkefølgen af ​​operationer i "fld1".
  • Sorteringen er nu altid stabil over tid (Redesignet QuickSort).
  • Standardantallet af BLAS-tråde er nu lig med antallet af CPU-tråde på ARM-arkitektur og halvdelen af ​​antallet af CPU-tråde på andre arkitekturer.
  • Printf: Omarbejdede fejlmeddelelser for forkerte strenge for bedre læsbarhed.
  • Profil: Ny funktion "Profile.take_heap_snapshot(file)" som skriver en fil i JSON-baseret ".heapsnapshot"-format understøttet af Chrome.
  • Tilføjet understøttelse af Unicode 15-specifikationen.
  • Indlejrede kombinationer af tupler og navngivne karaktertupler kan nu bruges som typeparametre.

Endelig, hvis du er interesseret i at vide mere om det, kan du se detaljerne I det følgende link.


Tilføj som foretrukken kilde i Google