As Knuth said,
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
Norman's answer is excellent. Somehow, you routinely do some "premature optimization" which are, actually, best practices, because doing otherwise is known to be totally inefficient.
For example, to add to Norman's list:
for (i = 0; i < strlen(str); i++)
(because strlen here is a function call walking the string each time, called on each loop);for (i = 0 l = str.length; i < l; i++)
and it is still readable, so OK.And so on. But such micro-optimizations should never come at the cost of readability of code.