gpt4 book ai didi

Java 性能 : why a method call can be quicker than direct calculations in if conditional and array indexing?

转载 作者:行者123 更新时间:2023-12-04 06:11:44 25 4
gpt4 key购买 nike

我在 Java 应用程序中有以下方法:

public void setPixel(int x, int y, int rgb) {
if (isValidPixel(x, y)) {
bitmap[indexOf(x, y)] = rgb;
}
}

当我进行直接计算而不是方法调用时,例如:
public void setPixel(int x, int y, int rgb) {
if (x < width && y < height) {
bitmap[y * width + x] = rgb;
}
}

代码运行时间比第一个多 4 到 5 毫秒。所以为什么?

最佳答案

如果您的数字正确且可重复,则最可能的答案是 JIT compiler设法编译该方法,但放弃了内联语句。您可以 disable the JIT compiler来证明理论。

关于Java 性能 : why a method call can be quicker than direct calculations in if conditional and array indexing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7701756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com