gpt4 book ai didi

java - 哪个更快?

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

出于好奇,我想知道以下哪个执行速度更快。语言是Java。

int num = -500;
int num2 = 0;

while( Math.abs(num) > num2 )
num2 ++;

int num = -500;
int num2 = 0;
num = Math.abs(num);

while( num > num2 )
num2 ++;

本质上,我想知道 while 循环的每次迭代是否都会调用“Math.abs”,或者后台是否正在进行一些代码优化?

谢谢!

最佳答案

Math.abs() 就是所谓的 pure function ,所以一个非常好的编译器理论上可以优化它。有一些函数式编程语言专门设计用于做到这一点,但在 Java 中这会很困难。

第二个不仅可能被编译成更快的代码,而且通常被认为是更好的风格,因为它更清楚地表明循环中哪些实际发生了变化,哪些没有发生变化。

关于java - 哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5074455/

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