Listen to this story
The release of Julia version 1.8 is here. Following three betas and four release candidates, this version was finally released and is set to provide improved support to Apple Silicon.
The new language version has improvements in various areas like Mutable struct fields, annotation and compiler/runtime. The release also has changes in the build system including new library functions and features along with tooling improvements.
Profiling: The new allocation profiler captures individual heap allocations with the type, size, and stack allowing easier visualisation with PProf.jl as well as with the Julia extension for VS code. Additionally, updates to CPU profiling include thread and task profiling, and running code profiling.
Packages: A new tool has been added to provide compilation estimate timing and highlighting percentage of compile time for re-compiling invalidated methods. An update to the Pkg status updater will show small compatibility constraints and also indicate status of the latest version packages.
Improved precompilation: The 1.8 version of Julia addresses the issue of automatic discarding of compiled code by saving all type-inferred code in cache. Additionally, to reduce compilation time of predictable type workloads, users can now eliminate type-inference as a source of latency.
Support for Apple Silicon
Julia 1.7 had an experimental preview for native builds on Apple Silicon which supported basic usage but consisted of frequent segmentation faults.
In version 1.8, Apple will become a tier 2 supported platform that is now covered by Continuous Integration (CI) on dedicated Apple Silicon machines.
Julia was launched in 2012, when engineers were using languages like Python, MATLAB, and Ruby. In 2022, Julia is a standard language used by NASA for spacecraft modelling. It is also used by NVIDIA, Google, Intel, Amazon, Microsoft and other tech companies.