Julia, multiplatformový programovací jazyk dosahuje svoju verziu 1.9

julia lang

ulia je dynamický, vysokoúrovňový a vysokovýkonný jazyk pre technické výpočty.

Vydanie Julie 1.9, novej verzie programovacieho jazyka, bolo oznámené pred niekoľkými dňami. Kombinuje funkcie ako vysoký výkon, podporu dynamického typovania a integrované nástroje pre paralelné programovanie. Syntax jazyka Julia je podobná MATLABu s niektorými prvkami prevzatými z Ruby a Lispu.

Julia vyniká ako vysokoúrovňový, vysoko výkonný, multiplatformový, multiparadigmový, dynamicky typovaný programovací jazyk pre všeobecné, technické a vedecké výpočty so syntaxou podobnou iným podobným výpočtovým prostrediam.

Hlavné správy o Júlii 1.9

Táto nová verzia Julie 1.9 obsahuje niekoľko vylepšení runtime/kompilátora vrátane výrazného skrátenia času do prvého spustenia. Predkompilácia balíka teraz ukladá natívny kód do súboru „pkgimage“, čo znamená, že kód vygenerovaný počas predkompilácie nebude potrebné po načítaní balíka znova kompilovať. Používanie režimu pkgimages je možné zakázať pomocou možnosti „--pkgimages=no“.

Ďalšou pozoruhodnou zmenou je, že volania s argumentmi, ktoré nie sú špecifické pre daný typ, je teraz možné optimalizovať pomocou rozdelenia zjednotením pre vstrekovanie alebo statické rozlíšenie, aj keď existuje niekoľko rôznych typov kandidátov na odosielanie. To môže zlepšiť výkon v určitých situáciách, keď typy objektov nie sú úplne staticky riešené, statickým riešením miest volaní „ @nospecialize-d“ a zabránením rekompilácie.

Jednoznakové literály teraz podporujú rovnakú syntax ako reťazcové literály; tieto syntaxe môžu predstavovať neplatné sekvencie UTF-8, ako to umožňuje typ Char.

Okrem toho sa v systémoch Linux a Windows teraz možnosť --threads=auto “ pokúša určiť dostupný počet procesorov na základe afinity CPU, čo je maska, ktorá sa zvyčajne nastavuje v prostrediach HPC a cloudu.

Možnosť „ --math-mode=fast “ bola zakázaná a namiesto nej sa odporúča použiť makro „ @fastmath “ , ktoré má dobre definovanú sémantiku. Okrem toho má parameter „ --threads “ teraz formát „auto | N[,auto|M]“ , kde M určuje počet interaktívnych vlákien, ktoré sa majú vytvoriť.

Bola pridaná možnosť „ –heap-size-hint=<veľkosť> “ na nastavenie prahovej hodnoty, po ktorej sa spustí aktívne zberanie odpadu. Veľkosť je možné zadať v bajtoch, kilobajtoch (1000 KB), megabajtoch (300 MB) alebo gigabajtoch (1,5 GB).

Makro „@invoke“ zavedené vo verzii 1.7 je teraz exportované a dostupné na použitie. Okrem toho teraz používa metódu „Core.Typeof(x)“ namiesto „ Any “, keď je anotácia typu pre argument „x“ vynechaná. Toto je nevyhnutné pre správne spracovanie typov odovzdávaných ako argumenty.

Okrem toho má `Threads.@spawn` teraz voliteľný prvý argument buď `:default` alebo `:interactive`. Interaktívna úloha vyžaduje odozvu s nízkou latenciou a je navrhnutá tak, aby bola krátka alebo sa spúšťala často. Interaktívne úlohy sa spustia na interaktívnych vláknach, ak je to zadané pri spustení Julie.

Medzi ďalšie významné zmeny patria:

  • Negácia predikátovej funkcie "!f" teraz namiesto anonymnej funkcie vráti zloženú funkciu "(!) ∘ f".
  • Funkcie rozdelenia dimenzií teraz fungujú vo viacerých dimenziách: «každý plátok, „každý kus“ a „každý kus“ vrátiť objekt"Slices» čo umožňuje preprave poskytovať efektívnejšie spôsoby.
  • Makro «@kwdef» bol pridaný do verejného API.
  • Opravený problém s poradím operácií v "fld1".
  • Triedenie je teraz vždy stabilné v priebehu času (prepracované QuickSort).
  • Predvolený počet vlákien BLAS sa teraz rovná počtu vlákien CPU na architektúre ARM a polovici počtu vlákien CPU na iných architektúrach.
  • Printf: Prepracované chybové hlásenia pre chybné reťazce pre lepšiu čitateľnosť.
  • Profil: Nová funkcia „Profile.take_heap_snapshot(file)“, ktorá zapisuje súbor vo formáte „.heapsnapshot“ založenom na JSON podporovanom prehliadačom Chrome.
  • Pridaná podpora pre špecifikáciu Unicode 15.
  • Vnorené kombinácie n-tic a pomenovaných n-tic možno teraz použiť ako parametre typu.

Na záver, ak máte záujem dozvedieť sa viac, podrobnosti nájdete na nasledujúcom odkaze.


Pridať ako preferovaný zdroj v Google