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