This serie contains a set of entries considering various methods of optimizing software, binary output size optimization, performance optimization or memory usage optimization. Althought the topic is mainly important for embedded software which is characterized by small size of non-volatile storage, RAM memory, battery capacity or other resources, some of described methods can be also successfully applied to all types of software.
Micro-optimizations
Low-level methods to make your embedded code more efficient, or less efficient, if done unnecessarily. The effects of such tricks are strongly dependant on the compiler and target machine. Always check the specific case before changing code!
Useful resources
Online interactive C++ compiler, presenting the output assembler code. You can play with various compiler options and code structure and watch assembler changes on the fly. https://gcc.godbolt.org/
performance optimization
Binary size optimization
MEMORY USAGE optimization
