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. 

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.

THE BELAMY

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

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


Download our Mobile App



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. 

Support independent technology journalism

Get exclusive, premium content, ads-free experience & more

Rs. 299/month

Subscribe now for a 7-day free trial

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.

AIM Upcoming Events

Early Bird Passes expire on 3rd Feb

Conference, in-person (Bangalore)
Rising 2023 | Women in Tech Conference
16-17th Mar, 2023

Conference, in-person (Bangalore)
Data Engineering Summit (DES) 2023
27-28th Apr, 2023

3 Ways to Join our Community

Telegram group

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

Discord Server

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

Subscribe to our Daily newsletter

Get our daily awesome stories & videos in your inbox
AIM TOP STORIES

All you need to know about Graph Embeddings

Embeddings can be the subgroups of a group, similarly, in graph theory embedding of a graph can be considered as a representation of a graph on a surface, where points of that surface are made up of vertices and arcs are made up of edges