JuliaCon 2025

Improving Julia's scheduler, one Task at a time
2025-07-24 , Cathedral of Learning Room 332 (Thursday only)

Task based parallelism brings many advantages to Julia, the main one being that Tasks are lighter abstractions than OS threads. That is possible because we do the scheduling in user space, avoiding expensive context switches. None of this matters if the scheduler itself has poor performance. This year many improvements were made around an in it, so let's take a deep dive into what makes our scheduler work, how to write code that cooperates with it and how we've made it better.


Task based parallelism brings many advantages to Julia, the main one being that Tasks are lighter abstractions than OS threads. That is possible because we do the scheduling in user space, avoiding expensive context switches. None of this matters if the scheduler itself has poor performance. This year many improvements were made around an in it, so let's take a deep dive into what makes our scheduler work, how to write code that cooperates with it and how we've made it better.