相关疑难解决方法(0)

Java编译器优化

最近,我正在读这篇文章.

根据那篇文章,Java Compiler即javac在生成字节码时不执行任何优化.这是真的吗?如果是这样,那么它可以作为中间代码生成器实现,以消除冗余并生成最佳代码吗?

java optimization javac

62
推荐指数
4
解决办法
2万
查看次数

javac优化标志

我最近在C中编写了很多代码,现在正在转向Java.我目前正在实现一个大型数据结构,并且想知道在调用Java编译器时是否可以打开任何优化标志以提高gcc中的性能.

我习惯了:

gcc -O3 -NDEBUG MyProgram.c
Run Code Online (Sandbox Code Playgroud)

有一个类似的命令javac吗?

我正在使用JDK并且正在运行Ubuntu 10.04.

java compiler-construction optimization javac

31
推荐指数
3
解决办法
3万
查看次数

我应该使用javac -O选项进行优化吗?

javac 一个有趣的-O选择:

通过内联静态,最终和私有方法来优化编译代码.请注意,您的课程可能会变得更大.

这个选项似乎不受欢迎(隐藏?),我今天刚刚在CodeCup 2014页面上发现它.

-O中未提及的官方文件,也不在man javac......奇怪.

在对类似问题的接受答案中,我们可以读到:

Java中的优化主要由JIT编译器在运行时完成.因此,没有必要尝试指示它在编译时优化某种方式(无论如何它只创建字节码).JIT几乎肯定会在现场做出更好的决策,了解确切的环境并观察代码特定部分的实际执行模式.

我的问题是:

我应该总是使用该-O选项吗?换句话说,代码总是运行得更快-O或根本没有差别?

也许班级规模会增加太多,整体表现会下降?或者JVM无论如何都会进行内联,所以最好留下它?

类似的故事gcc -O3国旗.

java compiler-construction optimization javac

28
推荐指数
3
解决办法
3803
查看次数

标签 统计

java ×3

javac ×3

optimization ×3

compiler-construction ×2