GraalVM 21.3.0 社区版发布,高性能跨语言虚拟机原创
3年前
271700
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
来源:开源中国,转载已获授权
原文链接:https://www.oschina.net/news/165285/graalvm-21-3-released
点赞收藏