The development team behind the Julia programming language has released version 1.9. Appeared around nine months after version 1.8, the release works, among other things, on increased performance and introduces new features such as caching of native codes. The LLVM compiler infrastructure behind Julia increases to version 14.0.6.

Since the tests for macOS ARM have also been completed successfully and Continuous Integration (CI) has been established for it, the status of the platform has changed from Tier 2 to Tier 1. Tier 1 is the highest level of support and in addition to these requirements also includes the existence of official binaries.

Julia uses the principle of precompilation to reduce compilation time. Previously, this functionality was limited to types, variables, and methods, among others. However, native code could not be precompiled. This is where Julia 1.9 comes in and enables caching of native codes for the first time. This should bring about a significant reduction in latency in terms of Time to First Execution (TTFX) and lay the foundation for further optimization.

As an undesirable side effect, this innovation increases the precompilation time by 10 to 50 percent. However, since this is a one-time cost, the Julia team finds this impact acceptable. The cache files are now also larger due to the storage of larger amounts of data and the use of a different serialization format.

The development team demonstrates the changes in Time to Load (TTL), Time to First Execution (TTFX) and cache file size from Julia 1.7 to 1.9. Accordingly, the TTFX has changed from a decisive factor to a negligible one.

Julia 1.7, 1.8 and 1.9 compared: Time to Load (TTL), Time to First Execution (TTFX) and cache file size in MB.

Julia 1.7, 1.8 and 1.9 compared: Time to Load (TTL), Time to First Execution (TTFX) and cache file size in MB.

(Bild: JuliaLang.org)

In Julia you can Multiple Dispatch to use. For example, a plotting package can offer functions that are contained in different packages of the Julia ecosystem. However, adding package dependencies can have costs such as increased load times and the need to install large artifacts like CUDA.jl, the Julia team points out. Julia 1.9 therefore leads the conditional loading of code into packages a.

This new feature, called Package Extensions, aims to load only the features you need. According to the development team, it is similar to the external package Requires.jl, but should offer additional options such as precompiling conditional code and applying compatibility restrictions to weak dependencies.

The dynamically typed programming language Julia, designed for scientific computing and high performance is open source for download. More information about version 1.9 offer the official blog as well as the language’s GitHub repository.


(May)

To home page

California18

Welcome to California18, your number one source for Breaking News from the World. We’re dedicated to giving you the very best of News.

Leave a Reply