GraalVM 21.3.0 社区版发布,高性能跨语言虚拟机

来源: OSCHINA
编辑: Alias_Travis
2021-10-22

GraalVM 是 Oracle 打造的高性能跨语言虚拟机,支持运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言(如 Java、Scala 和 Kotlin),以及基于 LLVM 的语言,如 C 和 C++。

GraalVM 21.3.0 更新内容如下:

新功能

  • 现在默认使用 TRegex,这为正则表达式的匹配提供了很大的速度提升
  • 添加 Polyglot.languages 以显示可用语言的列表。
  • 外部对象现在有了一个基于其互操作特性的动态生成的类,如 ForeignArray,并能更好地与 Ruby 对象集成。
  • 外部数组现在拥有 Ruby Enumerable 的所有方法和 Array 的许多方法。
  • 外部哈希现在拥有 Ruby Enumerable 的所有方法和 Hash 的许多方法。
  • 外部的迭代器 ( InteropLibrary#hasIterator) 现在拥有 Ruby Enumerable 的所有方法。
  • 外部对象现在实现了 #instance_variables #methods

错误修正

  • 修复 rb_str_modify_expand,以保留现有的字节。
  • 修复 Dir.mkdir  Pathname 路径的错误处理。
  • 修复多次加载同一文件时的常量查找。
  • 修正 define_method(name, &block) 方法中 break next  redo 的处理。
  • 修复 Float#<=>中不兼容类型的处理。
  • 修正 Dir.glob 的大括号转义问题。
  • 修复 base64 解码时输出丢失的问题。

兼容性

  • 实现 Process::Status.wait
  • 更新 rb_str_modify  rb_str_modify_expand,当给定一个冻结的字符串时引发 FrozenError 
  • 实现 rb_fiber_* 函数。
  • 实现 rb_str_vcatf
  • 实现 rb_str_catf
  • 接受字符串作为 StringScanner#scan StringScanner#check的模式参数。
  • ……

更多详情可查看:https://github.com/oracle/truffleruby/releases/tag/vm-21.3.0

展开阅读全文
5 收藏
分享
加载中
最新评论 (1)
Oracle 虽贪婪,但很厉害。
2021-10-22 09:23
0
回复
举报
更多评论
1 评论
5 收藏
分享
返回顶部
顶部