我从各种来源(虽然大多数来自我的同事)中听到过,-O3用g ++ 的优化级别进行编译在某种程度上是"危险的",并且除非被证明是必要的,否则应该避免.
这是真的,如果是的话,为什么?我应该坚持-O2吗?
最近,我正在读这篇文章.
根据那篇文章,Java Compiler即javac在生成字节码时不执行任何优化.这是真的吗?如果是这样,那么它可以作为中间代码生成器实现,以消除冗余并生成最佳代码吗?
我最近在C中编写了很多代码,现在正在转向Java.我目前正在实现一个大型数据结构,并且想知道在调用Java编译器时是否可以打开任何优化标志以提高gcc中的性能.
我习惯了:
gcc -O3 -NDEBUG MyProgram.c
Run Code Online (Sandbox Code Playgroud)
有一个类似的命令javac吗?
我正在使用JDK并且正在运行Ubuntu 10.04.
我一直在审查代码,其中一些编码器一直在使用冗余三元运算符"以提高可读性."例如:
boolean val = (foo == bar && foo1 != bar) ? true : false;
Run Code Online (Sandbox Code Playgroud)
显然,将语句的结果分配给boolean变量会更好,但编译器是否关心?