问题标签 [graalvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3147 浏览

java - GraalVM JVM 是否支持 java 11?

如何为Java 11构建GraalVM JVM

0 投票
2 回答
1725 浏览

javascript - 如何使用 GraalVM 创建 node.js 原生镜像

我正在尝试从一个简单的 node.jsexample.js应用程序创建本机图像。

运行应用程序时:

然后应用程序正在启动并按预期工作。

现在我想创建一个原生图像。我尝试了以下命令:

但是由于以下错误,它不起作用:

作为一项解决方案,我创建了一个主要入口点,example.js例如:

但是这不起作用。

有没有一种方法通常为 js/node.js 应用程序创建原生图像?

0 投票
1 回答
1021 浏览

scala - 为什么 GraalVM CE 的吞吐量比 GraalVM EE 或 OpenJDK 8 小

我为使用动态编程找出最长公共子序列的方法创建了一个基准:

并使用以下配置运行它jmh:run -i 10 -wi 10 -f1 -t1 并得到以下结果:

GraalVM EE 1.0.0-rc10

GraalVM CE 1.0.0-rc10

OpenJDK 1.8.0_192

我还做了另一个测试,我创建了一个包含数千个对象的列表,对其进行了一些过滤和排序,并且thrpt在 GraalVM CE 上是最小的。

为什么会有这种差异?

0 投票
1 回答
368 浏览

java - OpenJDK的虚拟机是可插拔的吗?

在以前的时代,这很容易。我们使用了java虚拟机这两个词的同义词。

现在我们有了 Hotspot VM (Oracle JDK)、OpenJDK Server VM、Eclipse OpenJ9 VM 和Graal VM

我有点困惑。OpenJDK 是否拥有或者是一个可以与不同虚拟机实现结合使用的运行时环境?是否有为此的标准接口,或者它只是由 OpenJDK 支持。

我要求作为java -version两个 OpenJDK 变体的运行输出,并且 Graal VM 在每种情况下都包含OpenJDK rintime

我知道网上有很多关于这个问题的文件,但我读过的这些文件都没有给出关于这个主题的安全知识状态。

0 投票
1 回答
1590 浏览

javascript - GraalVm - Java 复杂对象不能像 javascript 对象一样被解析

我正在尝试从 nashorn 迁移到 graalvm (java 11)。我有很多java脚本。

说明 -> 以 maven libs org.graalvm.js: graal-sdk, js, js-scriptengine, org.graalvm.truffle: truffle-api 的形式连接到 java 项目。版本 1.0.0-rc9。
ScriptEngine 创建像 'new ScriptEngineManager().getEngineByName("graal.js")';
然后您可以在地图中的数组中创建地图,例如:

然后将 mapOuter 转换为 ProxyObject,如 ProxyObject.fromMap(mapOuter);
使用如下代码评估测试 JavaScript:

这将调用错误,如:

javax.script.ScriptException: org.graalvm.polyglot.PolyglotException: TypeError: INVOKE on foreign object failed 由于:消息不支持:INVOKE

所以问题是:如何让 graalvm 将复杂的 java 对象正确地传递给 javascript 函数?

ps 我在这个例子中想要的是调用对象,如:

打印(参数[“2”][0][“1”]);

它打印了我 3。

我尝试了什么:
尝试将 outerMap 的每个成员解析为 ProxyObject/ProxyArray。

什么工作 如果你改变 javascript 像:

打印(参数["2"][0].get("1"));

它将打印 3;

0 投票
1 回答
167 浏览

graalvm - Substrate VM:无法启动本机图像生成器


我想查看mx图像生成器:

似乎“图像”命令不可用(不再可用?)
任何可用的替代品?谢谢

0 投票
1 回答
419 浏览

javascript - GraalVM 如何将 java List 对象传输到 javascript,以便我可以在它们上制作 .push() 和 .forEach()?

问题是当我尝试将 java List (ArrayList) 对象作为 ProxyArray (ProxyArray.fromList()) 传输到 javascript 时,它不能与 .forEach 和 .push 一起使用。此外,如果我按原样传输 java List 对象,它可以与 .forEach 一起使用,但不能与 .push 一起使用。有什么解决办法吗?

这是要点https://gist.github.com/okrean/5d6978bac15f257b90f581f371769935

0 投票
1 回答
1254 浏览

graalvm - 有人可以解释一下 Graal、GraalVM、Truffle 和 SubstrateVM 之间的区别吗?

我知道这些技术都是相关的,但是有人可以解释一下每种技术的用途以及它们如何组合在一起吗?

0 投票
1 回答
321 浏览

simd - GraalVM 是否完全支持 SIMD / AutoVectorization 或与 jdk9+ 一样?

JDK 9 对 SIMD / AutoVectorization 进行了一些重大的性能改进,在许多情况下实现了 2 到 4 倍的改进。Graal VM 是否具有与 jdk9 对 SIMD / Autovectorization 支持的“相同”改进?(事实上​​,即使在 jdk8 级别它也支持 SIMD / Autovectorization 吗?)

换句话说,Graal VM 最终将支持 jdk11(根据这篇文章:https ://github.com/oracle/graal/issues/651 )这一事实是否意味着它将自动支持 SIMD / Autovectorization(并在至少和 jdk 11 一样好?)

0 投票
1 回答
275 浏览

graalvm - 为什么 Graals AOT 编译器比 JIT 慢?

一般来说,当开发人员试图解释为什么(高度调整的)C++ 比 Java 快 2 倍时,他们提到一个因素是 C++ AOT 编译比 JIT 有更多的时间来进行广泛的优化。所以我假设 Graal 中的 AOT 编译会有类似的机会,因此即使它不如 C++ 快,但它至少会比 JIT 编译快——然而,情况似乎并非如此。这是为什么?特别是,是否存在 Graal 的 AOT 编译器会更快的特定场景?相反,是否存在 JIT 比 GRAAL AOTr 更快的情况?(这样,一旦我完全构建了我的解决方案,我就可以就它的有用性做出明智的决定)?