2012-02-05 216 views
4

如果我在int32中存储一个整数字段...这将使用比int64更多的空间吗? 从我所了解的情况来看,varint会根据存储的数字大小调整其大小。谷歌协议缓冲区int32 vs int64

+0

你可以发布您的协议缓存定义这种情况出现? – gioele 2012-02-05 11:21:33

回答

4

不,这只会影响生成的代码。 [s|u]int{32|64}的任何组合使用“varint”编码,所以尺寸通常与幅度有关,至少在注意到负数之间的差异之后。特别是,负数是使用sint*将大得不成比例(10个字节,IIRC),无论是32或64。