Program optimization#
In computer science, program optimization, code optimization, or software optimization, is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. In general, a computer program may be optimized so that it executes more rapidly, or to make it capable of operating with less memory storage or other resources, or draw less power.
Read more on Wikipedia.
Approaches#
Books#
- [2022] Algorithms for Modern Hardware ⭐
- [2021] The Art of Writing Efficient Programs
- [2021] Understanding Software Dynamics
- [2003] Code Optimization: Effective Memory Usage
Courses#
Profilers#
Tools#
- AutoFDO: Automatic feedback-directed optimization for warehouse-scale applications
- BOLT: A post-link optimizer developed to speed up large applications
Resources#
Text#
- [2023] {n} times faster than C ⭐
- [2023] {n} times faster than C, where n = 128 ⭐
- [2023] Faster hash maps, binary trees etc. through data layout modification ⭐
- [2023] On Maximizing Your Rust Code’s Performance ⭐
- [2023] Software Performance and Class Layout ⭐
- [2023] When Zig Outshines Rust - Memory Efficient Enum Arrays ⭐
- [2022] Data-driven performance optimization with Rust and Miri
- [2022] How Rust 1.64 Became 10-20% Faster On Windows? ⭐
- [2019] Performance Speed Limits
- [2012] Latency numbers every programmer should know ⭐
Video#
- [2022] Profiling Code in Rust ⭐
- [2022] Оптимизируем бинарный поиск ⭐
- [2021] Parameter Passing in C and C++ ⭐