Прежде всего - всегда запускайте профилирование для проверки.
Во-первых, если вы оптимизируете правильную часть кода. Если код выполняется на 1% от общего времени - забудьте. Даже если вы уменьшите его на 50%, вы получите ускорение всего на 0,5%. Если вы не делаете что-то странное, ускорение будет намного медленнее (особенно если вы использовали хороший оптимизирующий компилятор).
Во-вторых, если вы оптимизируете это правильно. Какой код будет работать быстрее на x86?
inc eax
или
add eax, 1
Хорошо. Насколько я знаю, в более ранних процессорах первый, а на P4 второй (здесь неважно, выполняются ли эти конкретные инструкции быстрее или медленнее, дело в том, что они все время меняются). Компилятор может быть в курсе таких изменений - вы не будете.
По моему мнению, основной целью является оптимизация, которая не может быть выполнена компилятором - как упоминалось ранее, размер данных (вы можете подумать, что в настоящее время он не нужен на компьютерах с 2 ГиБ - но если ваши данные больше, чем кэш процессора - это будет работать намного медленнее).
В общем, делайте это только в том случае, если вы должны и / или знаете, что делаете. Это потребует некоторого количества знаний о коде, компиляторе и низкоуровневой компьютерной архитектуре, которые не упомянуты в этом вопросе (и, честно говоря, мне это не нужно). И это, вероятно, ничего не выиграет. Если хочешь оптимизировать - делай это на более высоком уровне.