我的scala应用程序需要在大型整数数组上执行简单的操作。双打,性能是瓶颈。尽管我可以通过各种基准测试观察他们的结果,但我仍然很难准确地指出某些优化措施(例如逃逸分析)。我喜欢对我的scala应用程序进行一些AOT编译,所以我可以看到或强制执行(或实现)某些优化...或者编译成本机代码,如果可能的话,所以我可以像边界一样偷工减料检查并观察它是否可以有所作为。
我的问题:scala有哪些替代编译方法?我对llvm,vmkit,soot,gcj等工具感兴趣。此时谁正在成功使用scala,或者这些方法当前是否兼容或维护?
答案 0 :(得分:2)
GCJ可以将JVM类编译为本机代码。本博客描述了使用Scala代码完成的测试:http://lampblogs.epfl.ch/b2evolution/blogs/index.php/2006/10/02/scala_goes_native_almost?blog=7
答案 1 :(得分:2)
要回答我自己的问题,除了JVM之外,Scala没有替代后端。 .NET后端已经开发了很长时间,但其状态尚不清楚。 LLVM后端还没有准备好使用,目前还不清楚它的未来是什么。