A múlt hét végén a készítők bejelentették, hogy több bétát követően végre stabil állapotba került a Julia programozási nyelv legújabb verziója. Az új Julia 1.8 számos fejlesztéssel jön, mind maguk a nyelvi lehetőségek, mind a fordítás és az optimalizálás terén.

Így például a nyelv mostantól lehetőséget ad konstans mezők definiálására változó struktúrákon belül is, a kódok helybe történő befűzését (inlining) pedig már nem csak fixen az eljárások sajátosságaként lehet megadni, hanem a hívás helyén is lehet kérni az @inline makró segítségével. Szintén új lehetőség, hogy a globális változóknak már lehet rögzíteni a típusát, amely esetben a fordító optimálisabb kódot tud azokhoz készíteni.

Az új verzióban változik az alapértelmezett ütemező is, és az eddig kompatibilitási okokból megtartott statikus ütemezőt - ami a párhuzamosított feladathalmaz minden elemét pontosan egy szálra bízta - egy dinamikus váltja fel, ami képes a korábban befejeződött szálakra újabb feladatokat bízni. Ez főleg olyan esetekben járhat jelentős hatékonyságnövekedéssel, amikor a párhuzamosan végzett feladatok végrehajtása jelentősen eltérő ideig is tarthat.

Ezen kívül a Julia mostantól egy, a heap-foglalások elemzésére lehetőséget adó profilerrel is rendelkezik, a CPU profiler pedig már szálakra és taszkokra lebontva is képes a futási idők elemzését lehetővé tenni. Szintén új, hogy a profilálás a kód futása közben is bekapcsolható, valamint, hogy egy új eszközzel meg lehet tudni azt is, hogy egy-egy csomag betöltési idejét mennyiben befolyásolják annak függőségei.

Végül pedig az új verzióban jelentősen fejlesztettek az előfordításon, illetve azon, hogy ennek során milyen információkat ment el a fordító az egyes csomagokra vonatkozóan. Ez immár magában foglal minden kikövetkeztetett típusinformációt is, így ezeket sem szükséges újra megállapítania a csomag kódjának használata során, ami az első futás, illetve hívások idejét drasztikusan csökkentheti.

A Julia 1.7 további fejlesztéseiről az érdeklődők itt tudnak olvasni.