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