Код, который вы разместили, и текст вопроса не имеют отношения к фактическому float
, но имеют указатели на float
. Во всех известных мне архитектурах размер указателя одинаков, независимо от указанного типа, поэтому при его изменении на указатель short
или char
улучшения не будет.
Теперь о фактических заостренных элементах, какой диапазон вы ожидаете в своем приложении? Какая точность вам нужна? Сколько у вас этих элементов? Каковы ограничения памяти вашей целевой платформы? Если диапазон и точность не малы, а количество элементов огромно, просто используйте floats
. Также обратите внимание, что если вам нужны операции с плавающей запятой, сохранение любого другого типа потребует преобразований до и после каждой операции, что может повлиять на производительность.
Без большего знания того, что вы делаете, диапазоны для short
во многих архитектурах равны [-32k, 32k)
, где k
обозначает 1024
. Если ваши диапазоны данных [-32,32)
и вы можете использовать примерно 3 десятичных знака, вы можете использовать арифметику с фиксированной точкой с short
s, но таких ситуаций немного.