производительность без знака против целых чисел со знаком - PullRequest
60 голосов
/ 17 января 2011

Есть ли какой-либо выигрыш или потеря производительности при использовании целых чисел без знака по сравнению со целыми числами со знаком?

Если да, то это тоже относится к коротким и длинным?

Ответы [ 12 ]

0 голосов
/ 17 января 2011

IIRC, для x86 подписанный / неподписанный не должен иметь никакого значения. Короткая / длинная, с другой стороны, - это другая история, так как объем данных, которые необходимо переместить в / из ОЗУ, больше для длинных (другие причины могут включать операции приведения, такие как расширение короткой на длинную).

0 голосов
/ 17 января 2011

Традиционно int - это собственный целочисленный формат целевой аппаратной платформы.Любой другой целочисленный тип может повлечь за собой снижение производительности.

РЕДАКТИРОВАТЬ:

В современных системах все немного иначе:

  • int может фактически быть32-разрядные в 64-разрядных системах по причинам совместимости.Я считаю, что это происходит в системах Windows.

  • Современные компиляторы могут неявно использовать int при выполнении вычислений для более коротких типов в некоторых случаях.

...