rust-analyzer recently migrated to a new version of its incremental computation library, Salsa. This has yielded both major and minor performance wins in rust-analyzer. In this talk, we’ll discuss the challenges (self-referential interning! a 5x memory usage regression!), benefits (parallel autocomplete, persistent caches, and near-instant crate graph additions/removals) of new Salsa. We’ll also discuss how Salsa works internally and how you can use it in your own projects.
Audience: Intermediate
Speakers

David Barsky
David Barsky is a rust-analyzer team member and is employed by Meta. He also helps maintains the tokio-rs/tracing library.

Lukas Wirth
Lukas is the rust-analyzer team lead and is employed by Ferrous Systems.