字节与int有多少性能差异?

问题描述 投票:0回答:4

我正在用Java编写流量仿真代码,并将int用于我的大多数变量,包括循环计数器和数据数组。读入的最终数据应该是大约50个“ agents”和50个“ nodes”,其中每个agent具有大约5个特征,并且节点图将随时钟一起更新,以反映汽车在道路上行驶的平均速度。] >

我的问题是,对于应该在-127到127范围内的变量,是否应该从使用int转换为字节类型。最终,这是否会显着改善性能?如果不是,性能将在什么时候显着提高(即每秒要讨论的变量或计算的数量)?

我正在用Java编写流量仿真代码,并将int用于我的大多数变量,包括循环计数器和数据数组。读入的最终数据应该是大约50个“代理”和50个“节点”,其中每个...

java int byte simulation traffic
4个回答
0
投票

最终这会大大改善性能吗?如果不是,性能将在什么时候显着提高(即每秒要讨论的变量或计算的数量)?


2
投票

不,您完全不应该。由于处理器的体系结构,int通常更快。使用byte s进行计算时,您的CPU在内部将所有内容都转换为字节并返回。


0
投票

假设使用Intel CPU-您是否研究过使用SSE指令,您可能可以同时操纵16 x 8位字节。我相信SSE参数可以通过Java使用,但尚未尝试过。


0
投票

在大多数现代的32位或64位系统上,使用任何与系统本机int大小不同的内容都会对性能产生影响,因为您必须将较小的变量置零/将其扩展为寄存器大小或掩码扩展位以将值限制在类型的范围内。

© www.soinside.com 2019 - 2024. All rights reserved.