手机版
你好,游客 登录 注册
背景:
阅读新闻

Scala 2.13 发布,改进的编译器性能

[日期:2019-06-13] 来源:Linux公社  作者:醉落红尘 [字体: ]

上周,Scala团队宣布发布Scala 2.13。此版本带来了许多改进,包括对标准库集合进行了彻底的修改,编译器的速度提高了5-10%,等等。

大修标准库集合

Scala 2.13的主要亮点是标准库集合,与以前的版本相比,现在在简单性,性能和安全性方面更好。集合中所做的一些重要更改包括:

更简单的方法签名

隐式CanBuildFrom参数是集合库中最强大的抽象之一。但是,它过去常常难以理解方法签名。从此版本开始,转换方法将不再采用隐式的“CanBuildFrom”参数,使得生成的代码更简单,更易于理解。

更简单的类型层次结构

包scala.collection.parallel现在是Scala标准模块的一部分。此模块现在将作为单独的JAR提供,如果它不使用并行集合,您可以从项目中省略它。此外,Traversable和TraversableOnce现已弃用。

新的concrete collections

  • Stream集合现在由LazyList替换,LazyList按顺序仅在需要时评估元素。
  • 引入了一个新的mutable.CollisionProofHashMap集合,该集合使用桶中红黑树的哈希表实现可变映射。即使在哈希冲突的最坏情况下,这也提供了良好的性能。
  • 添加了mutable.ArrayDeque集合,这是一个双端队列,内部使用可调整大小的循环缓冲区。

改进的并发性

在Scala 2.13中,Futures被“内部重新设计”以确保它在更广泛的失败中提供预期的行为。更新的Futures还将为提高性能和支持更强大的应用程序提供基础。

语言的变化

语言更新包括引入基于文字的单例类型,默认情况下部分统一,以及扩展的名称方法参数,以支持隐式和显式参数。

编译器更新

编译器现在可以执行确定性和可重现的编译。这实质上意味着它可以在更多情况下为相同的输入生成相同的输出。此外,对集合和数组的操作现在进行了优化,使编译器与Scala 2.12相比提高了5-10%。

这些是Scala 2.13中一些令人兴奋的更新。有关详细列表,请查看官方发行说明

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-06/159070.htm

linux
相关资讯       Scala 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款