GraalVM 19.1.0 发布,高性能跨语言虚拟机

h4cd
 h4cd
发布于 2019年07月09日
收藏 16

GraalVM 19.1.0 发布了。GraalVM 是高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C++。

GraalVM 消除了编程语言之间的隔离,并支持共享运行时的互操作性。它可以独立运行,也可以在 OpenJDK、Node、Oracle 或者 MySQL 上运行。

此版本更新内容包括:

Java

  • 提高了 GraalVM 中 JIT 编译的速度。
  • 在构建编译器的 AOT(ahead-of-time)镜像时应用配置文件引导优化(PGO,profile-guided optimization)。

Native image

修复了一些 GitHub 上报告的问题。

JavaScript

  • 添加了一个实验性选项 js.locale,以设置区域设置敏感操作的默认语言环境。
  • 允许使用 sourceURL 指令在内部创建评估源,方法是在 URL 前加上 internal,如://# sourceURL = internal: myname.js。
  • 使用 ContextPolicy.SHARED 在线程之间启用代码共享。

LLVM interpreter

  • 在嵌入式上下文中调用 exit(...) 现在是一个可捕获的 PolyglotException。
  • 跳过不允许访问的源路径条目。

Ruby

此版本中的 GraalVM Ruby 实现主要进行了性能和兼容性改进,并带来了一些新特性,修复了多个 bug。rb_str_cat 现在更快,因为 C 字符串现在连接前不需要先被转换为 Ruby 字符串或检查其编码。

R

  • 字符串 -Inf、+NaN 和 -NaN 被正确解析为双精度数,包括忽略前导和尾随空格。
  • For 循环创建并初始化控制变量,即使没有迭代。
  • 更新了内置输出功能。
  • 对于外部可执行文件,is.function 返回 true。

Python

  • Python 标准库从 3.7.0 更新到 3.7.3 版本。
  • 改进抛出异常的性能。
  • 修复了原生镜像中核心源的缓存,其中包含用于预构建镜像和 libpolyglot 快速启动的预初始化上下文。
  • 实现对 pwd.getpwuid、os.exec、os.execv 和 os.execlmodules 的支持。

更新说明:

https://www.graalvm.org/docs/release-notes/#1910

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:GraalVM 19.1.0 发布,高性能跨语言虚拟机
加载中

精彩评论

s
shifeng1983
解决那些说java写的代码又臭又长的人,给你们一个自己发明语法优美的语言的机会

最新评论(13

_rm-rf_
_rm-rf_
这玩艺想发展好,最好的办法应该是捐给社区 ,然后脱离oracle的掌控。Oracle除了数据库,搞啥死啥。
GITTODO
GITTODO
LLVM变形嘛,有心的话直接贡献LLVM代码。让我们的java代码直接平移过去
一码千里
闲得蛋痛净搞这些没用的东西,解决用户什么痛点?码农拍脑袋凭想象搞个大杂烩解释器?
s
shifeng1983
解决那些说java写的代码又臭又长的人,给你们一个自己发明语法优美的语言的机会
肩胛骨粉碎机
肩胛骨粉碎机
还能不同的编程语言混写,天方夜谭
s
shifeng1983
不同的编程语言最终都编译成java字节码,可以理解了吗?
臭水沟
臭水沟
java用了它之后,不能用反射了。因为没用的代码都删除了
雨翔河
雨翔河
上次试玩了下还写了篇简单的博客,很极客,玩一玩还是不错的。
TGVvbmFyZA
TGVvbmFyZA
(感謝樓主提交,我前兩天提交後就忘記翻譯更新內容了
GITTODO
GITTODO
性能如何啊
牧码氏
牧码氏
啥时候发布正式版本支持windows,做数据服务很好用
韦小仇
韦小仇
niubility
返回顶部
顶部