gpt4 book ai didi

scala - 改进 Scala 的 JVM

转载 作者:行者123 更新时间:2023-12-03 06:52:35 26 4
gpt4 key购买 nike

对 JVM 进行哪些更改最有利于 Scala 编译器和运行时?

动态语言将因 InvokeDynamic 的引入而大大提高性能。计划到达 JVM 7 和 Scala 的字节码可能会受益于尾递归(不确定它是否会出现在 JVM 8 或更高版本中)。

Scala 以其目前的功能集,还可以从 JVM 中受益于哪些其他变化?这些变化即将到来吗?

具体来说,JVM 是否有一些变化可以提高闭包和函数即对象的性能?

最佳答案

基本上,约翰·罗斯一直在竞选的一切:)

  • Fixnums - 消除装箱/拆箱原语的成本。

  • 方法句柄 - 将加速高阶函数并允许 JVM 更有效地优化它们。 SAM 类型有时可能需要在单态和超态调用站点之间进行尴尬的翻转/翻转,从而阻止内联。

  • Continuations - 支持异步/并发设计,按照node.js

  • Interface Injection - 简化mixin的组成和角色的实现,并且消除了生成一些中间类的需要,并使结构类型在许多情况下无需反射成为可能。

  • 尾部调用优化 - 应该是理所当然的:)

具体化经常被认为有利于 Scala 的模式匹配,但鉴于两种语言使用不同的方差方案,这在互操作方面会付出很高的成本。在这一点上,我认为具体化实际上可能弊大于利。

我还认为期望任何破坏 Java 向后兼容性的事情都是不合理的。那是不会发生的。

关于scala - 改进 Scala 的 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706697/

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