Julia 1.8 Improves Apple Silicon Support
Written by Kay Ewbank   
Friday, 26 August 2022

Julia 1.8 has been released with improvements including better support for Apple Silicon, and support for typed globals.

Julia is a dynamic language for technical computing that is especially good at running MATLAB and R-style programs. Development began on Julia at MIT in 2009, and has increased in popularity, recently becoming one of the top six languages for machine learning projects on GitHub.

.julialogo1

Version 1.6 of Julia added to ability to used typed globals. The team says that non-constant global variables in Julia came with a performance penalty because the compiler cannot reason about their type. This is because they can be reassigned to another object of some other type at runtime. Julia 1.8 adds the option of specifying the type of a non-constant global variable, which blocks the option of reassigning the variable to an object of another type. This change removes much of the cost of using non-constant global variables.

Another improvement is support for annotating individual fields of a mutable struct with const annotation. This causes the field to be constant and incapable of being reassigned after creation of the type, meaning the compiler can take advantage of it to improve the generated code.

Julia 1.8 also adds the ability to profile code that is already running. The developers say the feature will be useful if you've started some long-running code and progress appears to slow. At any point you can choose to see what's happening without interrupting by triggering a one -second profile. 

The other major improvement in this release is adoption of Apple Silicon as a Tier 2 supported platform that is covered by Continuous Integration (CI) on dedicated Apple Silicon machines. In the previous release, Julia 1.7 offered an experimental preview of native builds of Julia on Apple Silicon. While this generally worked for basic usage, users experienced frequent segmentation faults because of the way Julia internally uses LLVM to generate and link the code for this platform.Julia 1.8 has moved to a more modern linker, which has better support for ARM CPUs on macOS.

Julia 1.8 is available now.

julialogo1

More Information

Julia Website

Related Articles

Julia 1.7 - Better Performance On Several Fronts

Julia 1.5 Improves Struct Layout Support

Julia Improves Multithreading

Julia Language Creators Awarded Numerical Software Prize

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Use Javascriptmas To Hone Your Webdev Skills
08/12/2024

Every day until December 24th MDN, in partnership with Scrimba, is releasing a daily challenge, which as the name suggests requires you to practice your JavaScript skills. Each solution you submi [ ... ]



The Advent of SQL 2024 Has Commenced
11/12/2024

It's Advent - the time of year when we countdown the days to Christmas - and if your are a programmer complete daily coding challenges with the Advent of Code, the Advent of Perl, the Advent of Java,  [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Friday, 26 August 2022 )