Many of these suggestions are based on [[optimized c++]]
· #1 Habit – in c++ at least, ++counter performance is strictly “better or equal to” counter++. If there’s no compelling reason, I would prefer the former.
· #2 Habit – in a for loop, one of the beginning and ending values is more expensive to evaluate. Choose the more expensive one as the beginning value, so you don’t evaluate it over and over. Some people object that compiler can cache the more expensive end value, but 2016 tests show otherwise.
· If a method can be static, then make it static. Good for performance and semantics.
· For a small if-else-if block, put the most likely scenario first. May affect readability. Worthwhile only in a hot spot.
· For a long if-elif-elif-elif-elif block, a switch statement performance is strictly “greater or equal”
· For-loop starts by checking the condition (2nd component in header). If this initial check is redundant (as often is), then use a do-while loop
· Call a loop in a function, rather than call a function in a loop. Another micro-optimization.