Вопросы к Поиску с Алисой
Оптимизация памяти при использовании разных типов целочисленных переменных в C происходит следующим образом: компилятор выбирает наиболее эффективный целочисленный размер для объявленной переменной. acm.bsu.by
Типы меньшего размера, такие как char и short int, немного менее эффективны. acm.bsu.by ssd.sscc.ru Обычно компилятор конвертирует их в int, выполняет над ними операции, а затем берёт младшую часть результата. ssd.sscc.ru Считается, что это преобразование занимает 0 или 1 такт. ssd.sscc.ru
Нежелательно использовать переменные размера больше, чем самый большой доступный размер регистра. acm.bsu.by Например, неэффективно применять 64-битные целые числа в 32-битных системах, особенно если код включает в себя умножение или деление. acm.bsu.by
Рекомендуется использовать стандартный int, если нет опасности переполнения. ssd.sscc.ru Если есть (например, для доступа к большому массиву), то следует использовать больший минимально возможный тип. ssd.sscc.ru
Выравнивание типов также влияет на оптимизацию памяти. tproger.ru Оно ускоряет доступ к памяти за счёт генерации кода, в котором на чтение и запись ячейки памяти требуется по одной инструкции. tproger.ru Без выравнивания процессору придётся использовать две и более инструкции для доступа к данным, расположенным между адресами, кратными размеру машинного слова. tproger.ru