LOADING

Are mutexes slow?

In this talk, we'll dive deep into what makes concurrency coordination costly, and explore some pathways to mitigate that cost.

Jon Gjengset
Principal Engineer at Helsing, former owner of Rust at Amazon, Rust educator
About This Talk

Modern hardware is moving to more cores rather than faster ones. For application developers, this means that further performance gains require _parallelism_; making progress on many tasks at the same time. But as anyone with experience writing multi-threaded code will tell you, this is easier said than done — those threads inevitably have to coordinate, and coordination is "expensive."

But _why_ is it expensive? Sure, a mutual exclusion lock forces sequential execution, which limits overall speedup (per Amdahl's law). But is the lock itself expensive? Do reader-writer locks help when the coordination is mostly required for reads? In this talk, we'll dive deep into what makes concurrency coordination costly, and explore some pathways to mitigate that cost. By the end, you'll leave with a mental model that goes all the way down to the CPU cache line, and a newfound appreciation for a protocol from the 1980s.

more great talks

Might Be Interesting

Day 1
  —  
2:00 pm
arrow pointing right icon

Let's talk about Link-Time Optimization (LTO)

I contributed LTO-related changes to many open-source projects, and had a lot of interesting discussions with their maintainers about LTO. In this talk, I want to share with you my experience.

Day 1
  —  
9:35 am
arrow pointing right icon

From Pain to Solution: Private Rust Crates with CrabHub

As Rust projects grow, managing private crates becomes a real headache. Teams struggle with inconsistent versioning, fragile dependencies, and cumbersome workflows that slow down development. In this talk, I’ll walk through how these challenges can be solved with Rust and CrabHub.

Day 2
  —  
4:50 pm
arrow pointing right icon

Channels in Rust: The Art of Concurrency

We’ll take a deep dive into Rust channels — from synchronous channels to asynchronous channels — to explore how message passing enables reliable concurrent programming.

Day 1
  —  
11:15 am
arrow pointing right icon

Supercharging Axum Development with Claude Code: Practical AI-Assisted Workflows for Rust Engineers

In this talk, we’ll explore battle-tested best practices for integrating Claude Code into a professional Axum development workflow without compromising on Rust’s core values: correctness, clarity, and maintainability.

Day 1
  —  
9:00 am
arrow pointing right icon

An Option? Have a slice!

In 2024, I added the `Option::as_slice` and `Option::as_mut_slice` methods to libcore. This talk is about what motivated the addition, and looks into the no less than 4 different implementations that made up the methods. It also shows that even without a deep understanding of all compiler internals, it is possible to add changes both to the compiler and standard library.

Day 2
  —  
11:50 am
arrow pointing right icon

Let's build an async runtime together

During this talk we'll build a basic, working async runtime using nothing more than a standard library. The point? To see it's approachable for mere mortals.

See All Events
Join us!

We're looking for amazing speakers.
CFP is open till 10.01.2023

Fill in Call for Papers
location icon

Location

Centrum Konferencyjne POLIN, Poland
stay in touch icon

Follow Us

Contact Us