gpt4 book ai didi

java编译器优化

转载 作者:行者123 更新时间:2023-12-02 11:13:00 26 4
gpt4 key购买 nike

Java 编译器是否足够聪明,可以通过提取来优化下面的循环

Double average = new Double( totalTime / callCount ); 

跳出for循环?

public double computeSD( Set values, int callCount, long totalTime ) {
double diffs = 0.0d;
for( Iterator i=values.iterator(); i.hasNext(); ) {
double value = ( ( Double )i.next() ).doubleValue();
Double average = new Double( totalTime / callCount );
diffs += ( value – average.doubleValue() ) * ( value – average.doubleValue() );
}
double variance = diffs / callCount;
return Math.sqrt( variance );
}

最佳答案

没有什么可以阻止字节码编译器(java->字节码)执行优化。当我在赛门铁克工作时,他们做了一个 Java IDE,编译器编写人员确实考虑过对我们的编译器进行一些优化,但表示(外部世界)似乎没有人感兴趣,重点是即时 (JIT)编译器与现代 Sun VM 中的 HotSpot 大致相同。

没有什么可以阻止字节码编译器执行优化,但我不知道有任何这样做。人们非常关注运行时优化,但这些优化在运行时几乎是隐藏的。

因此,源代码->字节码编译器可能不会优化它,但虚拟机可能会优化它。如果您使用的是 Android 之类的设备,那么它可能不会执行运行时优化。

关于java编译器优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2391219/

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