Find bottlenecks, identify the proper algorithm to use, optimize performance, and create really efficient Rust applications
Key Features
Understand common performance pitfalls and improve the performance of your applications.
Get to grips with parallel programming and multithreading with Rust.
Learn metaprogramming in Rust.
Book Description
This book teaches you how to optimize the performance of your Rust code so that it is at the same level as languages such as C/C++. You'll understand and fi x common pitfalls, learn how to improve your productivity by using metaprogramming, and speed up your code. You will master the features of the language, which will make you stand out, and use them to greatly improve the efficiency of your algorithms. The book begins with an introduction to help you identify bottlenecks when programming in Rust. We highlight common performance pitfalls, along with strategies to detect and resolve these issues early. We move on to mastering Rust's type system, which will enable us to optimize both performance and safety at compile time. You will learn how to effectively manage memory in Rust, mastering the borrow checker. We move on to measuring performance and you will see how this affects the way you write code. Moving forward, you will perform metaprogramming in Rust to boost the performance of your code and your productivity. Finally, you will learn parallel programming in Rust, which enables efficient and faster execution by using multithreading and asynchronous programming.
What you will learn
Master tips and tricks to improve performance of your code
Learn how to identify bottlenecks in your Rust applications
Discover how to profile your Rust software
Understand the type system in order to create compile-time optimizations
Master the borrow checker
Learn metaprogramming in Rust to avoid boilerplate code
Discover multithreading and work stealing in Rust
Understand asynchronous programming in Rust
Who this book is for
This book is for Rust developers keen to improve the speed of their code or simply to take their skills to the next level.