Выигрыш в производительности при использовании uint_fast8_t?

Таким образом, после исследования механизмов много я создавал 2-ю платформу для iPhone. Поскольку Вы знаете, что мир архитектуры механизма обширен, таким образом, я пытался применить лучшие практики как можно больше.

Я использовал:

uint_fast8_t mId;

Если я ищу определение uint_fast8_t, я нахожу:

/* 7.18.1.3 Fastest-width integer types */
...
typedef uint8_t          uint_fast8_t;

И я использовал эти типы всюду по своему коду - Мой вопрос, там выигрыш в производительности к использованию этих типов? И что точно продолжается негласно? Помимо очевидного того, что это - правильный тип данных (неподписанное целое число на 8 битов) для данных, действительно ли стоит наперчить это всюду по моему коду?

Действительно ли это - бесполезная оптимизация, о которой, вероятно, заботился бы компилятор так или иначе?

Спасибо.

Править: Никакие ответы/ответы, таким образом, я помещаю щедрость на это!

6
задан mr-sk 8 January 2010 в 16:54
поделиться

2 ответа

«быстрые» целочисленные типы определены как самые быстрые из доступных целочисленных типов с не менее требуемым количеством битов (в данном случае 8).

Если ваша платформа определяет uint_fast8_t как uint8_t, тогда не будет абсолютно никакой разницы в скорости.

Причина в том, что могут быть архитектуры, которые работают медленнее, если не используют собственную длину слова. Например. Я смог найти одну ссылку, где для процессоров Alpha uint_fast_8_t был определен как "unsigned int".

21
ответ дан 8 December 2019 в 05:21
поделиться

uint_fast8_t - самое быстрое целое число, гарантированное шириной не менее 8 бит. В зависимости от Вашей платформы оно может быть 8 или 16 или 32 бита в ширину.

Это не забота компилятора, это действительно заставляет вашу программу выполнять быстрее

Вот некоторые ресурсы, которые я нашел, Вы, возможно, уже видели их http://embeddedgurus.com/stack-overflow/2008/06/efficient-c-tips-1-choosing-the-correct-integer-size/

_COPY1@nongnu.org/msg03149.html

3
ответ дан 8 December 2019 в 05:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: