Skip to content
rusthacks.dev
Topic

Systems

Close to the metal: memory layout, no_std, unsafe, FFI and the microcontroller on your desk.

Flat illustration for the post “Measuring Memory Use of a Rust Program With Heaptrack”, composed around perf.
Systems

Measuring Memory Use of a Rust Program With Heaptrack

Find where a Rust program allocates and how much it holds. Use /usr/bin/time for peak RSS, heaptrack for Linux allocation timelines, the dhat crate for portable heap profiles and a counting allocator for tests.

4 min read
Flat illustration for the post “Why Rust Has No Garbage Collector and What It Uses Instead”, composed around ownership.
Systems

Why Rust Has No Garbage Collector and What It Uses Instead

Rust frees memory at compile-time-determined points using ownership and Drop, not a runtime collector. See what that buys in predictability and footprint, what it costs in design effort, and where reference counting fills the gap.

3 min read
Flat illustration for the post “Rust for Linux Drivers and Out of Tree Kernel Modules”, composed around architecture.
Systems

Rust for Linux Drivers and Out of Tree Kernel Modules

Rust is a supported language in the Linux kernel for new drivers and abstractions. See what that means, the toolchain and kernel configuration, the shape of a module, and why it is not a general Rust-everywhere switch.

3 min read
Flat illustration for the post “Bevy Systems Queries and Resources Explained Simply”, composed around embedded.
Systems

Bevy Systems Queries and Resources Explained Simply

Bevy is an entity component system: entities are ids, components are data, systems are plain functions. See Query, Res, ResMut, Commands and schedules with a small runnable example and the ordering rules.

3 min read

Get new posts by email

We send one email when a new post is published. No spam.

Unsubscribe in one click. No spam, ever.