This month in Julia world - 2023-05

Krastanov
Tue, 30 May 2023 21:42:03 +0000
Newsletter

There was a call to action for someone to make a newsletter that lists interesting developments in the Julia world, in order to communicate improvements to the language that are not visible unless you track Github and Slack closely. This is my humble attempt, an editorialized, biased, incomplete list of what I personally found interesting this month.

Discourse:

Tim’s post prompting me to keep this type of notes - Why open-source timelines/roadmaps don't work

Chris asking how to make Revise and other tooling more cohesively documented - Are Revise, PackageCompiler, and Pkg "part of Julia", and how do we better share them?

Guillaume spearheading more cohesive Graphs ecosystem - The graphs ecosystem

RustFTT.jl - FFT implemented in rust, available as a julia package, not really better than FFTW, but interesting showcase of using rust inside julia - [ANN] RustFFT.jl: Compute forward and inverse FFTs with RustFFT

Slack:

[ttfx] Lilith and others discussing the potential for tiered JIT for better latency - Slack

[appreciation] Me being very impressed with SumTypes.jl - followed by a discussion of techniques for avoiding runtime dispatch / union splitting - Slack

[ttfx] Tim discussing work on making precompile cache files smaller by avoiding caching unnecessary “junk”- Slack

Github:

[draft] libuv being bumped to significantly newer version: libuv is used by Julia (and Node and others) as the core IO/async building block. Julia’s devs have been the main contributors to libuv for a while and they have their own significantly diverged fork - [DRAFT] update libuv to v2-1.45.0 by vtjnash · Pull Request #49937 · JuliaLang/julia · GitHub

[nearing completion] JuliaSyntax as a new julia parser, providing much better error messages, etc. Got a spur of progress after 1.9 was released - https://github.com/JuliaLang/julia/pull/46372

[merged] Simpler, more readable stacktraces - Depth-limited printing of types in stacktraces take 2! by JeffBezanson · Pull Request #49795 · JuliaLang/julia · GitHub

[draft] A proposal for redesigning the Array interface with a lower-level memory buffer structure - buffer.md · GitHub

[merged] Multithreaded garbage collection, significantly speeding up GC - Run GC on multiple threads by d-netto · Pull Request #48600 · JuliaLang/julia · GitHub

[draft] Make precompile cache files relocatable - WIP: Make precompile files relocatable by fatteneder · Pull Request #49866 · JuliaLang/julia · GitHub

Dustbin of history:

At some point there was work on profile-guided-optimization for building even faster Julia - https://github.com/JuliaLang/julia/pull/45641

At some point there were experiment with tiered JIT for Julia - Tiered JIT Experiments by pchintalapudi · Pull Request #47484 · JuliaLang/julia · GitHub

Please feel free to add your own interesting finds, or in-depth explanations, or questions about these developments below.

If you want to help with the 2023 June issue of this informal, biased, editorialized, incomplete newsletter, just dump your SHORT notes in the June draft. Some of it might survive and be posted in my June post (or maybe I will forget about this by then, but someone else will take care of future posts).

21 posts - 16 participants