Artem Pelenitsyn

remote

The Unreasonable Performance Of The Julia Language

May 6, 2024 2:30 PM

Julia is a programming language for the scientific community that combines features of productivity languages, such as Python or MATLAB, with characteristics of performance-oriented languages, such as C++ or Fortran. Julia's productivity features include dynamic typing, automatic memory management, rich type annotations, and multiple dispatch. At the same time, Julia allows programmers to control memory layout and leverages a specializing just-in-time compiler to eliminate much of the overhead of those features.

To avoid performance pathologies widely affecting most dynamic languages, Julia users are expected to adhere to a coding discipline that enables so-called type stability. Informally, a function is type stable if the type of the output depends only on the types of the inputs, not their values. In his talk, Artem will explain how type stability relates to the main optimizations in the Julia JIT and share the results of corpus analysis to uncover how the type-related discipline manifests in practice.

Starting from: $500

Unchain your mind at LambdaConf 2024

Buy tickets