Hid*_*dde 1 java variables int performance bit-manipulation
我有一个关于Java的速度问题.我正在制作国际象棋程序,我想检查是否最好使用一个int变量来存储四个int变量,其中值的范围是1到4位.
问题是我经常需要提取并放入变量的新部分,因此这将花费相当多的按位操作.
码:
int fromX = 4, fromY = 5, toX = 6, toY = 7;
int move = 0
move |= toY;
move = move << 4;
move |= toX;
move = move << 4;
move |= fromY;
move = move << 4;
move |= fromX;
doWork(move);
Run Code Online (Sandbox Code Playgroud)
要么
int fromX = 4, fromY = 5, toX = 6, toY = 7;
doWork(fromX, fromY, toX, toY);
Run Code Online (Sandbox Code Playgroud)
doWork() 将使用坐标做很多不同的事情,大多从'int'中提取它们,或者只使用变量.
我应该使用哪个?
我想检查一个'unsigned int'作为变量存储四个'int'变量是否是个好主意
不,这是一个坏主意 ™,原因有很多.
这将是非常低效的
很难读
(因此)非常难以调试
当然,它可以在这里和那里节省几个字节,但说实话,我现在以千兆字节购买我的RAM模块.
我的建议:
写下你的整个国际象棋程序.如果您遇到性能问题,个人资料的程序,看看那里的瓶颈是,并做一些关于这些.(我可以向您保证,int一旦达到这一点,您就不会开始将多个数字打包成.)
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |