Intros

https://fasterthanli.me/articles/a-half-hour-to-learn-rust

Courses

https://google.github.io/comprehensive-rust

101 - references, owned value and Arc atomic reference counts

https://fiberplane.com/blog/getting-past-ampersand-driven-development-in-rust

Lessons learned

https://matklad.github.io/2021/09/05/Rust100k.html

https://dystroy.org/blog/how-not-to-learn-rust/

Challenges with borrow checker and lifetimes

https://erikmcclure.com/blog/stop-making-me-memorize-borrow-checker/

Concurrency

https://marabos.nl/atomics/

Testing

Fuzzing

https://da-data.blogspot.com/2020/05/speeding-up-fuzzing-rust-with-shared.html

Performance

Profiling

https://gendignoux.com/blog/2024/11/18/rust-rayon-optimized.html#time-based-profiling-with-perf

https://gendignoux.com/blog/2024/11/18/rust-rayon-optimized.html#advanced-perf-usage

Optimizations

http://pkolaczk.github.io/server-slower-than-a-laptop/

  • cargo flamegraph
  • multicore and cost of Arc
  • read-only data in cache vs frequently updated

https://willcrichton.net/notes/k-corrset/

  • Use Rust’s compiler optimizations.
  • Hash numbers instead of strings.
  • Use (indexed) vectors instead of hashmaps.
  • Use bit-sets for efficient membership tests.
  • Use SIMD for efficient bit-sets.
  • Use multi-threading to split the work over many cores.
  • Use batching to avoid a bottleneck at work distribution.

https://wiredream.com/llm-optimizing-digit-diff/

  • Parallelize with Rayon
  • Assisted by LLM

Statistical benchmarking

https://github.com/bheisler/criterion.rs

Interesting / popular crates

UI

egui - immediate-mode UI

https://github.com/emilk/egui#integrations

Software Dev Rust