gpt4 book ai didi

java - 包含许多 “if” 的关键循环,其输出为常量 : How to save on condition tests ? 对于 Java ;)

转载 作者:行者123 更新时间:2023-11-30 09:49:49 24 4
gpt4 key购买 nike

我刚读了这个帖子 Critical loop containing many "if" whose output is constant : How to save on condition tests?

还有这个Constant embedded for loop condition optimization in C++ with gcc这正是我想用 Java 做的。

我有一些 if 条件被调用了很多次,这些条件由初始化时定义的属性组成,并且不会改变。

Javac 是否会通过删除条件中未使用的分支来优化字节码,从而避免花时间测试它们?我必须将属性定义为 final 还是没有用?

谢谢你的帮助,

奥雷连

最佳答案

Java 编译时优化非常缺乏。如果您可以使用 switch 语句,它可能会做一些微不足道的优化。如果属性的数量非常大,那么 HashMap 将是您最好的选择。

最后我要说的是,这种事情很少成为瓶颈,过早地对其进行优化会适得其反。如果您的代码实际上被调用了很多,那么 JIT 优化器将尽最大努力使您的代码运行得更快。只需说出您想要发生的事情,当您发现确实值得花时间对其进行优化时,只需担心“如何”发生。

关于java - 包含许多 “if” 的关键循环,其输出为常量 : How to save on condition tests ? 对于 Java ;),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5553561/

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