ddimaria / beyond-the-rust-book

The Rust Book is an incredible resource. Combined with Rustlings, a developer can learn quite about about the Rust programming language. I created this repo for those of you who want examples on Rust concepts that go a bit deeper in some areas and delve into third-party crates for some common use cases.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Beyond the Rust Book

The Rust Book is an incredible resource. Combined with Rustlings, a developer can learn quite about about the Rust programming language. I created this repo for those of you who want examples on Rust concepts that go a bit deeper in some areas and delve into third-party crates for some common use cases.

Lessons

Quick Links

Tokio Pub Sub

Build a small pubsub system with subscribers running on separate threads. The publisher can send text messages to all subscribers, as well as signal them to gracefully shutdown.

Tokio Pub Sub

Create your own Async Mutex

Learn about an Async Mutex by creating your own. This Mutex is heavily inspired by Tokio's Mutex.

Create your own Async Mutex

Benchmark with Criterion and Cargo Flamegraph

Create a benchmark for the Async Mutex we created and compare against Tokio's Mutex, Rust's std Mutex, and Parking Lot's Mutex and analyze the results. Generate a flamegraph of the benchmarks.

Benchmark with Criterion and Cargo Flamegraph

Lessons to Write

  • Benchmarking with Criterion
  • Performance Analysis with cargo-flamegraph and DHAT
  • Basic GitHub Actions CI Setup (format, clippy, test, codecov, cargo-udeps, cargo-deny)
  • Comparing iter() to into_iter()
  • Testing with cargo-nextest
  • Optimizing Rust Code: Basic
  • Optimizing Rust Code: Avoiding Allocations
  • Optimizing Rust Code: Parallelizing with Rayon and Crossbeam
  • Optimizing Rust Code: Inlining Functions
  • Implementing io_uring in Rust
  • Write a Derive Procedural Macro for the NewType Pattern
  • Execute Code in Wasmtime Runtime
  • Basic Cryptography

About

The Rust Book is an incredible resource. Combined with Rustlings, a developer can learn quite about about the Rust programming language. I created this repo for those of you who want examples on Rust concepts that go a bit deeper in some areas and delve into third-party crates for some common use cases.

License:Creative Commons Attribution Share Alike 4.0 International


Languages

Language:Rust 100.0%