GraalVM 性能

3
我们正在评估GraalVM是否适合我们的技术栈。 其中一个主要考虑因素是性能,这里有一些基准测试:https://renaissance.dev/
问题是,我们想看其他语言实现的基准测试结果,而不是OpenJDK和GraalVM版本之间的对比。我能找到的唯一一篇文章是将其与C2进行了比较:https://medium.com/graalvm/graalvm-20-1-7ce7e89f066b 我们的谷歌搜索没有找到其他更详细的、跨语言的GraalVM基准测试结果。
您在哪里可以找到更多关于GraalVM的跨语言基准测试?

你是在寻找与特定编程语言的比较,例如GraalVM的JS引擎与V8的比较,还是一般性的比较--Java程序执行某些操作与C#或其他语言/运行时中类似程序的比较? - Oleg Šelajev
我很想了解GraalVM JS与V8之间的区别,但我真正好奇的是GraalVM从Java/Scala生成的本地代码与C/C++或甚至JS(V8)中类似程序所生成的代码的比较。感谢@OlegŠelajev的提问。 - Anton
1个回答

6
这是一个非常复杂的问题。它严重依赖于工作负载、语言等因素。
相比较而言,比较同一语言的实现要简单一些。例如,Renaissance套件 就为Java做了这件事情。
最近有一个Ruby演示文稿,比较了TruffleRuby和CRuby在某些Web应用程序基准测试上的表现。
对于JavaScript来说,如果我们比较Graal.js和V8,需要注意的一点是Graal.js的启动时间更长,显著更长。目前需要相当长的代码热身时间,有时需要几分钟。GraalVM团队正在努力改进启动时间,但很可能仍然需要一些热身时间。 总的来说,在我们的基准测试中,经过热身后的性能与V8差不多,通常略慢一些。 如果你想在Web应用程序的上下文中特别关注这一点,不仅可以查看node.js应用程序,还可以查看例如es4x项目。 我之所以提到这一点,是因为例如TechEmpower基准测试通过使条目实现预定义的Web应用程序并在多种情况下进行测试来模拟真实世界的场景,从语言方面得出结果。以下是最新的按JavaScript过滤的结果:https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=composite&l=zik0sf-1r Es4x的得分几乎提高了2倍,并且他们的提交确实在GraalVM上运行,请参见他们提交的docker文件
我不知道GraalVM本地镜像应用程序与node.js或C / C ++之间的直接比较(尽管我想比较golang与c ++会更有趣)。启动时间和内存消耗肯定是可比的:在几十/百毫秒内启动,在128 / 256M环境中舒适地运行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接