这段代码,
for (byte b = 0; b < 100; b++)
{
//some code
}
运行速度比此代码快?
for (int b = 0; b < 100; b++)
{
//some code
}
答案 0 :(得分:17)
不,一点也不;如果有的话,它会更慢,因为底层硬件通常有使用本机“int”类型(32位二进制补码整数)的指令,但不能用于处理8位有符号字节。
答案 1 :(得分:7)
始终使用int数据类型作为循环索引变量,因为与使用字节或短数据类型相比,它是有效的。因为当我们使用byte或short数据类型作为循环索引变量时,它们涉及到int数据类型的隐式类型转换。
答案 2 :(得分:4)
优化代码的正确方法是对其进行分析和分析,以找到热点,即占用大部分时间的地方。这些可以是(通常是)数据库或网络操作,或者是对大量数据进行操作的不良算法。当找到热点时,可以进一步分析它们以找到使它们更快的方法(修改数据库查询,使用缓存等)。
优化不是决定是使用byte
而不是int
,还是使用StringBuilder
而不是StringBuffer
。这被称为微优化,这是毫无价值的。优化始终取决于上下文,并且不能使用一般的“使用X代替Y”或“始终执行Z”规则来执行。