Буферы протокола Google int32 против int64 - PullRequest
4 голосов
/ 05 февраля 2012

Если я сохраню целочисленное поле в int32 ... будет ли это занимать больше места, чем int64?Из того, что я понимаю, varint будет корректировать свой размер в соответствии с размером сохраняемого числа.

1 Ответ

4 голосов
/ 05 февраля 2012

Нет, это влияет только на сгенерированный код. Любая комбинация [s|u]int{32|64} использует кодировку «varint», поэтому размер обычно связан с величиной, по крайней мере, после того, как будет замечена разница в отрицательных числах. В частности, отрицательное число, которое не использует sint*, будет непропорционально большим (10 байт, IIRC), независимо от того, равно ли оно 32 или 64.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...