VisualEther
EventStudio
Rust
5G
LTE
IMS
Telecom
Networking
Design
About
Learn how enums are organized in memory. Also understand the generated assembly code for match on an enum.
Compare the generated assembly from the Rust code. Learn how the memory is organized in these cases.
Learn how Arrays, Tuples, Box and Option are represented in memory. Also understand the generated assembly code for these types.
Learn how to map Rust vector iteration to assembly. Also understand how the compiler optimizes the loop with vector instructions.
Rust Under the Hood
A deep dive into Rust internals and generated assembly
Learn how high-level constructs translate into efficient assembly code. Dive into dynamic dispatch, trait inheritance, and async programming internals.
Compare the assembly code generated for static vs dynamic dispatch for traits. Understand the performance implications of each approach.
Learn how the compiler optimizes dynamically dispatched tail calls and how it frees memory when using trait objects.
Learn how Rust compiles recursive tree traversal to assembly code and the optimization techniques used.
Compare assembly code for Rust closures returned as impl Fn and Box<dyn Fn>
impl Fn
Box<dyn Fn>
Learn how Rust implements async functions using state machines and assembly code
Desugaring and assembly code analysis for nested async function with a loop.
Learn how the async executor schedules async tasks in Rust. Understand the code of a simple async executor.
Understand the assembly code generated when mapping a Vec<bool> to a Vec<& 'static str> (static string slice vector). The allocations and de-allocations operations are also covered.
Vec<bool>
Vec<& 'static str>
Understand the assembly code generated when mapping a Vec<bool> to a Vec<String> (owned string). The allocations and de-allocations operations are also covered.
Vec<String>