Использование интегральных типов с малым размером битов, таких как ` Int8` и для чего они нужны

Недавно я узнал, что каждый цикл вычислений выполняется с машинными словами, которые на большинстве современных процессоров и ОС являются 32-битными или 64-битными. Итак, каковы преимущества использования меньших значений битового размера, таких как Int16 , Int8 , Word8 ? Для чего они нужны? Это только сокращение памяти?

Я пишу сложную вычислительную программу, которая состоит из нескольких модулей, но взаимодействует только с одной функцией, которая возвращает значение Word64 , поэтому вся программа приводит к Word64 значение.Меня интересует ответ на этот вопрос, потому что внутри этой программы я обнаружил, что использую множество различных Integral типов, таких как Word16 и Word8 , для представления небольших объектов , и видя, что они довольно часто конвертируются с помощью fromIntegral , я задумался: допустил ли я здесь ошибку и в чем заключалась точная выгода от тех типов, о которых я не знал, слепо увлекся? Имеет ли вообще смысл использовать другие целочисленные типы и постоянно преобразовывать их с помощью fromIntegral или, может быть, мне следовало просто использовать Word64 везде?

9
задан Nikita Volkov 22 January 2012 в 19:26
поделиться