На уровне процессора нет байтов, только слова, которые в настоящее время являются 32-битными или 64-битными. Арифметические устройства обычно жестко связаны с числами с размером слова (или больше, в случае с плавающей запятой).
Таким образом, нет преимущества скорости при использовании типов, меньших, чем слово в отношении арифметических операций, и может быть ограничение скорости, поскольку вам необходимо выполнить дополнительную работу, чтобы имитировать типы, которые у процессора нет изначально, например запись одного байта в память требует, чтобы вы сначала прочитали слово, в котором оно входит, измените его и затем запишите. Чтобы этого избежать, большинство компиляторов фактически используют полное слово памяти для всех меньших переменных, поэтому даже логическая переменная занимает 32 или 64 бита.
Однако, если у вас большой объем данных, например большой массив, то использование меньших типов обычно дает лучшую производительность, потому что у вас будет меньше промахов в кеше.
Да, шорты могут быть катастрофически медленными, особенно для архитектур PowerPC. – Crashworks