Writing Rust: Concurrency and Clarity

Learn how to write and analyze safe, fast, concurrent Rust.

This workshop will expose you to async Rust code, various standard library tools, some common open source libraries, synchronization primitives, borrow checker, ownership concepts, and a little bit of performance profiling. Particularly if you're a beginner, you'll be able to focus more on the parts that interest you.

You will start with a project skeleton and write a cache library. You will learn about the sieve eviction strategy, and compare your cache's latency and throughput to other caches.

This is a practical workshop intended to help grow your skill level, whether you are a beginner or an intermediate Rust user. Depending on how far you get, you may do optimization, additional features, or additional algorithm implementations at your preference.

Key Takeaways

1 Improved understanding of the borrow checker.

2 Data-driven experience choosing correct synchronization primitives.

3 Exposure to a new state-of-the-art eviction algorithm.


Speaker

Sean Lynch

Co-founder and Software Engineer @ IOP Systems

Sean Lynch is a performance engineer with experience profiling and optimizing large-scale software systems. He previously worked on the performance teams at both Twitter and Meta. After November 2022, he joined his teammates from Twitter as a co-founder of IOP Systems, a company that is working to improve software efficiency and reliability via smart performance engineering.

Read more

Date

Friday Nov 22 / 01:00PM PST ( 3 hours )

Location

Marina

Level

Level beginner

Share

Prerequisites

  • osx, linux, or WSL on a laptop, as well as an IDE. VS Code is a good choice, but vim and emacs users alike are welcome.
  • rust stable toolchain must be installed. [rustup](https://rustup.rs/) is the usual way.
  • gcc and gnuplot for visualizations, perf for detailed profiling
  • clone the workshop repo and run ‘cargo build’, which will pull in all of the source code before reaching the venue: https://github.com/kvc0/rust_workshop