gpt4 book ai didi

java - 通过创建新变量来提高性能

转载 作者:行者123 更新时间:2023-11-29 06:24:04 26 4
gpt4 key购买 nike

我想尽可能地编写我的 java 程序,所以我正在减少一切以获得最佳性能......在程序中,一个方法将称为 apprx。 900万次。在那里我必须计算一些东西,只需减去两个整数,这些需要两次。所以我的问题是,什么更快:用计算结果初始化新整数还是只计算两次值?例如:

int result = a-b;
methodToCall(result, foo, bla);
otherMethod(result, bla, foo);

methodToCall(a-b, foo, bla);
otherMethod(a-b, bla foo);

我无法直接看到差异,但有时使用第一种方法会更快一些......一般来说:第一种方法总是更好吗?例如,当使用其他类型的计算时(更复杂)。 java 编译器或 jvm 是否正在对其进行优化,例如看到我做了两次相同的计算并且只做​​了一次并自己缓存了结果吗?

最佳答案

第一个理论上会更快。

在第二种情况下,JVM不仅会计算两次a-b,还会为两次结果临时分配存储空间,然后再传递给两个方法调用。

我刚刚对这些案例进行了 1 亿次测试,发现它们之间只有 10-15 毫秒的差异,第一个更快。我的测试结果会有所偏差,因为 a 和 b 是常数,但它似乎证实了这个理论。

关于java - 通过创建新变量来提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5894629/

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