MITB Banner

Julia 1.6 Released: Major Updates & Latest Features

Julia is one of the fastest open-source computing languages for numeric computing applications.

Share

Julia Computing

Julia is one of the fastest open-source computing languages for data analytics, algorithmic trading, machine learning and scientific and numeric computing applications. The language combines the ease of Python and R with the speed of C++. Recently, Julia released version 1.6

Founded in 2015, Julia has become one of the most preferred languages among data scientists and developers. According to its developers, most releases of Julia are timed and usually not planned around specific features. However, version 1.6 is an exception since it is likely to become the next long-term support (LTS) release of Julia.

Julia developers put in a lot of time and effort to develop the latest version to ensure its durability. Also, the release of version 1.6 was tested for regressions against all the registered open-source packages. All the issues were tracked down and fixed.

Below, we have noted down the top updates and features packed in Julia version 1.6.

Eliminating needless recompilation

One of the most critical features of Julia is extensibility. Meaning, the users can add new methods to the previously defined functions and use the previously defined methods on new types. Sometimes, these new entities force this language to recompile code to account for the changes in dispatch. In version 1.6, the scheme for invalidating old code has been made more accurate and selective. The outcome is a faster version of Julia, far more resilient to method invalidation, more responsive, and agile in interactive sessions.

Compiler latency reduction

In addition to making the library code more compiler-friendly, the developers tried to speed up the compiler itself. The principal visible improvement in this version is package loading. This adds a bit of extra speed on top of the gains from addressing invalidations.

Tooling to help optimise packages for latency

The new version features new tools for compiler introspection, especially for type inference. Developers can now utilise the latest tools to profile type inference and determine how particular package implementation choices are associated with the compilation time.

Compiler & runtime improvements

All platforms can now use @executable_path within jl_load_dynamic_library(), enabling the executable-relative paths to be embedded within the executables on all the platforms. 

Compile-time percentage

According to its developers, a small change that should help to understand one of Julia’s quirks for newcomers is that the timing macro @time and its verbose friend @timev now report if any of the reported time has been spent on compilation. This change highlights that behaviour, serving as both a reminder and a tool for rooting out unwanted compilation effort, which is over-specialised code.

Parallel precompilation

In version 1.6, the package precompilation is faster and happens before any user leaves pkg> mode. In 1.6, pkg> mode gains a heavily parallelised precompile operation auto-invoked after package actions to keep the active environment ready to load.

New library features

The new library features include:

  • A new standard library TOML has been added in this version for parsing and printing TOML files.
  • The redirect_* functions now accept devnull command to discard all the output redirected to it and as an empty input.
  • The nextprod function of this version now accepts tuples and other array types for its first argument.
  • A new standard library Downloads has been added, which replaces the old Base.download function with Downloads.download, providing cross-platform, multi-protocol, in-process download functionality implemented with libcurl.
Share
Picture of Ambika Choudhury

Ambika Choudhury

A Technical Journalist who loves writing about Machine Learning and Artificial Intelligence. A lover of music, writing and learning something out of the box.
Related Posts

CORPORATE TRAINING PROGRAMS ON GENERATIVE AI

Generative AI Skilling for Enterprises

Our customized corporate training program on Generative AI provides a unique opportunity to empower, retain, and advance your talent.

Upcoming Large format Conference

May 30 and 31, 2024 | 📍 Bangalore, India

Download the easiest way to
stay informed

Subscribe to The Belamy: Our Weekly Newsletter

Biggest AI stories, delivered to your inbox every week.

AI Courses & Careers

Become a Certified Generative AI Engineer

AI Forum for India

Our Discord Community for AI Ecosystem, In collaboration with NVIDIA. 

Flagship Events

Rising 2024 | DE&I in Tech Summit

April 4 and 5, 2024 | 📍 Hilton Convention Center, Manyata Tech Park, Bangalore

MachineCon GCC Summit 2024

June 28 2024 | 📍Bangalore, India

MachineCon USA 2024

26 July 2024 | 583 Park Avenue, New York

Cypher India 2024

September 25-27, 2024 | 📍Bangalore, India

Cypher USA 2024

Nov 21-22 2024 | 📍Santa Clara Convention Center, California, USA

Data Engineering Summit 2024

May 30 and 31, 2024 | 📍 Bangalore, India

Subscribe to Our Newsletter

The Belamy, our weekly Newsletter is a rage. Just enter your email below.