Julia v1.5 Released: Brings Lots of New Features And Better Performance


Julia language, which has grown to become one of the most loved languages among data scientists and developers has released a new version to its earlier Julia 1.4. The new version offers a ton of new features and performance improvements for the developer community. 

It has brought a lot of new developments such as struct layout and allocation optimisations, multithreading API stabilisation and improvements, latency improvements, fixing bugs and more. It has also brought about some impressive algorithmic improvements for some popular cases such as generating normally-distributed double-precision floats. 


Sign up for your weekly dose of what's up in emerging technology.

As the blog post states, this release brings one of the major and long-desired optimisations that can significantly reduce heap allocations in some workloads. The earlier version had a significant limitation when it came to layout optimisations for immutable objects — if an immutable object pointed to a heap-allocated, mutable object, it would itself need to be heap-allocated. This has been fixed in Julia 1.5 as it allows the compiler to track multiple roots inside object fields.

Improving upon its support for parallelism, it has introduced multithreading API stabilisation and improvements. The company said that with this release, they are marking most of the thread API as stable. It offers improved thread-safety of some top-level expressions such as type definitions, global assignments, modules and more. It also offers improvements to task switch performance and more. 

It has also released convenient shorthand that has already become popular in several other languages, such as TypeScript

As the blog post notes, after a lengthy discussion and several designs considered and prototyped, it has settled for the following solution in v1.5 such as making the REPL behave like IJulia, and Julia versions 0.6 or earlier, keeping the 1.0 behaviour in files, to avoid breaking anybody’s code, printing a warning if code in a file would behave differently than in the REPL and more.

The new release has made Pkg protocol the new default, which allows downloading new versions of package registries, package tarballs and artefacts—everything that’s needed to install and use packages from a single place. Now by default, everything is downloaded from https://pkg.julialang.org. It avoids challenges such as vanishing resources, lack of insights, firewall problems, performance and more. 

Julia recently hosted JuliaCon allowing the attendees to deep-dive into the latest developments brought by them. 

More Great AIM Stories

Srishti Deoras
Srishti currently works as Associate Editor at Analytics India Magazine. When not covering the analytics news, editing and writing articles, she could be found reading or capturing thoughts into pictures.

Our Upcoming Events

Conference, in-person (Bangalore)
MachineCon 2022
24th Jun

Conference, Virtual
Deep Learning DevCon 2022
30th Jul

Conference, in-person (Bangalore)
Cypher 2022
21-23rd Sep

3 Ways to Join our Community

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Telegram Channel

Discover special offers, top stories, upcoming events, and more.

Subscribe to our newsletter

Get the latest updates from AIM