Я смотрю, что может сделать программист на C, который может определить производительность и / или размер сгенерированного объектного файла.
Например,
1. Объявление простых функций get / set как встроенных может повысить производительность (за счет большего размера)
2. Для циклов, которые не используют значение самой переменной цикла, обратный отсчет до нуля, а не до определенного значения
и т.д.
Похоже, что компиляторы теперь продвинулись до уровня, когда "простые" трюки (как два пункта выше) вообще не требуются. Соответствующие опции во время компиляции делают работу в любом случае. Черт, я также видел здесь сообщения о том, как компиляторы обрабатывают рекурсию - это было очень интересно! Так что же нам делать на уровне C? :)
Моя конкретная среда: GCC 4.3.3 переназначена для архитектуры ARM (v4). Но ответы на другие компиляторы / процессоры также приветствуются и будут жаловаться.
PS: Мой подход идет вразрез с обычным подходом «сначала код! Потом тесты» и наконец оптимизация ».
Редактировать : Точно так же, как это случилось, я нашел аналогичный пост после публикации вопроса: Должны ли мы все еще оптимизировать "в малом"?