/rust_workshop

A practical introduction to Rust

Primary LanguageRust

Welcome to the Rust workshop!

Clone this repository and start working through the modules at your own pace.

Modules:

  1. Intro to Rust: Start here if you are new to Rust. Read the readme either way to see if you'd like a quick refresher.
  2. Sieve Cache: Learn applied rust by writing a modern cache eviction algorithm.
  3. Benchmarking: Learn tools and techniques for measuring performance of Rust code.

Prerequisites

  • MacOS, Linux, or WSL. You might be able to do this with Windows, but I've not tried!
  • An IDE. VS Code is a good choice, but you can use vim, emacs, or some Jetbrains thing if you prefer.
  • Rust stable toolchain must be installed. rustup is the usual way.
  • gcc and gnuplot for visualizations, perf for detailed profiling.
    • On MacOS brew install gnuplot will get you there. If you miss this, you'll just have less smooth graphs šŸ¤·
    • perf is more for linux - it's really for going deep on latency measurements with flamegraphs. We'll be using another means for flamegraphs in this workshop so MacOS people can play along, but perf-backed cargo flamegraph is an option if you like.