JuliaCon 2025

Lilith Hafner

Artist, Scientist, Open source developer.


Sessions

07-23
11:00
30min
Chiarmarks.jl: A new high-efficiency benchmarking package
Lilith Hafner

To optimize code, we must have good tools for measuring performance. Chairmarks.jl measures performance substantially faster than BenchmarkTools.jl while gathering more data at a similar accuracy. By avoiding eval and repeated gc calls and an efficient tuning algorithm, Charimarks achieves efficiecies of up to 99%, making setup and tuning time negligible. This allows for a more straightforward API and a much snappier user experience (from 5 seconds to 100ms).

Julia for High-Performance Computing
Main Room 4
07-23
11:40
10min
BasicAutoloads.jl: When I type this in the REPL, run that for me
Lilith Hafner

BasicAutoloads.jl allows you to automatically load packages on use in the REPL. This streamlines workflows without adding the startup cost or precompile and memory bloat of proactively loading packages. The API and semantics are both incredibly simple and, by virtue of supporting arbitrary Julia expressions, surprisingly powerful.

General
Main Room 5
07-24
13:30
30min
AliasTables.jl: State of the art O(1) discrete random sampling
Lilith Hafner

By using novel optimizations on top of Walker's alias method for random sampling, AliasTables.jl implements a discrete random sampler that supports arbitrary category weights and provides O(n) construction and O(1) sampling with a constant factor of 20-40 clock cycles for construction and 5-10 clock cycles for sampling.

General
Main Room 2
07-24
14:30
10min
Space Invaders: a new REPL mode.
Lilith Hafner

Put WatchJuliaBurn.jl in your startup.jl file and you'll rarely be more than a keystroke away from a game of space invaders! And when I say keystroke, I'm not referring to just any key, certainly not that F13 key tucked away behind your monitor, I'm referring to the space bar.

But don't worry! Like any other REPL mode, a game of space invaders is entered by pressing a key at the start of a line that expressions don't normally begin with so this should not impact your existing workflows.

Recreational Julia
Main Room 5