你的应用程序是否需要使用64位取决于它所处理的计算类型。如果需要处理非常大的数据集,则显然需要64位指针。如果不需要,则需要知道您的应用程序相对更多地花费时间进行算术运算还是内存访问。在x86-64上,通用寄存器不仅宽度加倍,数量也加倍,并且它们更“通用”。这意味着64位代码可以拥有更好的整数操作性能。但是,如果您的代码不需要额外的寄存器空间,由于增加了缓存效果,使用较小的指针和数据可能会看到更好的性能。如果您的应用程序以浮点运算为主导,那么将其制作成32位可能没有太大意义,因为大多数内存访问都是用于广泛向量的,而具有额外SSE寄存器的帮助。
long int
变量(如果您是C/C++程序员)是64位的。整数(int
)保持32位,除非您在“ILP64”模型中,这种情况相当少见。int
变量并不用于类似size_t
的目的——也就是说,它们保持在32位轻松容纳的范围内。对于那种性质的变量,您永远无法分辨出差异。long
而大多数人会使用int
。