Find bottlenecks, identify the proper algorithm to use, optimize performance, and create really efficient Rust applications
About This Book
• 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.
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.
What You Will Learn
• Master tips and tricks to make your code faster.
• Learn how to identify bottlenecks in your Rust applications
• Discover how to profile your Rust software.
• Understand the type system 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.
At times, it is difficult to get the best performance out of Rust. This book teaches you to optimize the speed of your Rust code to the level of languages such as C/C++. You'll understand and fix common pitfalls, learn how to improve your productivity by using metaprogramming, and speed up your code by concurrently executing parts of it safely and easily. You will master the features of the language which will make you stand out and use them to really improve the efficiency of your algorithms
The book begins with a gentle 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 create impressive optimizations in both performance and safety at compile time. You will then 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 ahead, you will perform metaprogramming in Rust to boost the performance of your code and your productivity. You will finally learn parallel programming in Rust, which enables efficient and faster execution by using multithreading and asynchronous programming.
Style and approach
You'll embark on a learning journey that will teach about you deep-core concepts in the Rust language. Learning those concepts—such as understanding the borrow checker—will make you competent to write more efficient Rust code. To learn those core concepts, you'll perform practical work and see for yourself how specific patterns improve the performance of your code.