In this lightning talk, we take a look at ArcShift, a lock-free data structure for shared data that still needs to be mutated.

In this lightning talk, we take a look at ArcShift, a lock-free data structure for shared data that still needs to be mutated.
While the standard library's Arc<RwLock<T>> allows multiple threads to access and modify the same object, even read-accesses require somewhat expensive atomic operations.
ArcShift allows multiple writers without penalizing readers, and give examples on how (and how not to) write lock-free data structures. We'll also dive into how ArcShift handles the memory reclamation problem (or cheats its way out of it).
I applied PGO to many kinds of software, collected a lot of carefully hidden traps on my journey, and found multiple ways how to avoid them. In this talk, I want to share with you my experience.
In this talk, we'll explore reasoning with async Rust. We'll be introduced to its fundamental building blocks, such as `async`, `await`, `join` and `select`, and learn how to predict the behavior of code written with them.
In this talk, we will discuss how you can use Durable Execution to harden your applications in a few key areas: workflows, asynchronous tasks, microservice orchestration, and event processing.
We will explore some ways to make Async Rust programming more enjoyable and more efficient at the same time.