par*_*tic 24 compiler-construction performance scala compiler-optimization
我尝试使用-optimise版本2.7.7的scalac .那时我从来没有得到任何性能改进,但编译花费的时间更长.
Scala 2.9.0中的情况更好吗?国旗目前涵盖哪些优化措施?
Von*_*onC 15
奇怪的是,scala-user组中存在类似的问题:
Rex Kerr当时回答(5月):
我从未发现
-optimise使用Sun JVM至少在使用Sun JVM时显着加快生产代码的情况.我承认在某些情况下它可能会发生,但它似乎对JVM已经采用了类似的优化.也许如果优化深度有限制,使用-optimise将删除几个层,然后允许JVM获得更多.但考虑到运行时间没有发生变化的情况,我尝试了多少个案例(几十个),我大多不再费心去测试了.我预计它会对更保守的VM(例如JRockit)或不太复杂的VM(例如Dalvik)产生影响.
Ismael Juma补充道:
scala发行版实际上是用-optimise编译的,但实际上除非将参数传递给scalac,否则它不会打开.
它不够成熟,还是会导致错误,语义变化等?
据我了解,该团队决定保守,只为scala发布启用它作为初始步骤(在Scala 2.8.0中).也许考虑在下一个主要版本中扩展它是个好主意.
对于-optimiseScala2.9中"(以及其他因素)的影响,请参阅这个称为"Scala2.9较慢的scala语言线程?" .
我有点担心.在看到它
-optimize确实在2.9.0上优化了"for comprehensions"后,我对代码进行了基准测试,发现它比2.8.1慢了约2.5倍.
结果留下了......混合的感觉.
| 归档时间: |
|
| 查看次数: |
3063 次 |
| 最近记录: |