Вопрос, в общем, далек от программирования на ZX-Spectrum, и касается современных архитектур. Но, надеюсь, не будет сочтен оффтопом.
Итак, имеет ли смысл использовать короткие целые типы в переменных и параметрах? Допустим, мы знаем, что в данном случае диапазона выбранного короткого целого типа (например, shortint / signed char) нам хватает с головой. Надо ли нам использовать именно его, или выгоднее не париться, и использовать целый тип по умолчанию (32/64-битный)? Вопрос экономии памяти в данном случае неоднозначен, т.к. команды работы с 32битными значениям обычно короче, чем с 8-16 битными (по крайней мере, для x86, если я не ошибаюсь). Да и вообще он на современных архитектурах малоактуален, особенно для переменных, а не больших массивов данных. Более актуален вопрос быстродействия.
У кого какие соображения по этому поводу? Стоит ли крохоборствовать, выбирая для переменных/параметров по возможности короткие целые типы, или выгоднее и правильнее писать int[eger] и не париться везде, где только можно? Или даже так - будет ли работать программа быстрее (в общем случае), если в ней везде, где только можно, используются короткие целые типы для переменных и параметров?