这段代码,
for (byte b = 0; b < 100; b++)
{
//some code
}
比这段代码运行得更快?
for (int b = 0; b < 100; b++)
{
//some code
}
这段代码,
for (byte b = 0; b < 100; b++)
{
//some code
}
比这段代码运行得更快?
for (int b = 0; b < 100; b++)
{
//some code
}
一点都不; 如果有的话,它会更慢,因为底层硬件通常具有使用本机“int”类型(32 位二进制补码整数)但不使用 8 位有符号字节的指令。
尽可能始终使用 int 数据类型作为循环索引变量,因为与使用 byte 或 short 数据类型相比,它更有效。因为当我们使用 byte 或 short 数据类型作为循环索引变量时,它们涉及到隐式类型转换为 int 数据类型。
优化代码的正确方法是分析和分析它以找到热点,即花费大部分时间的地方。这些可以是(并且经常是)数据库或网络操作,或者是在大量数据上运行的糟糕算法。当发现热点时,可以进一步分析它们以找出使它们更快的方法(修改数据库查询、使用缓存等)
优化不是决定是使用 abyte
代替 a int
,还是使用 aStringBuilder
代替 a StringBuffer
。这被称为微优化,毫无价值。优化总是依赖于上下文,不能用一般的“使用 X 代替 Y”或“总是做 Z”规则来执行。