【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

Rhino 速度将得到提升

  • 2011-07-11
  • 本文字数:1090 字

    阅读完需:约 4 分钟

近日,JRuby 专家 Charles Oliver Nutter 开始参与 Rhino 项目(JavaScript 的 Java 实现)以提升 Rhino JavaScript 运行时的速度,进而实现与 V8 的竞争。虽然 Rhino 拥有可靠的实现,但在性能上却无法与其他的 JavaScript 运行时相提并论。Nutter 认为 Rhino 可以通过 Invokedynamic 与其他优化手段扭转颓势。这可以使 Rhino 达到与 V8 相同的水准,至少也能与 V8 展开竞争。

InfoQ 有幸采访到了 Nutter 以了解他与 Rhino 团队现在正在从事的工作。Nutter 打算使用 JVM 的 Invokedynamic 将 Rhino 的派发机制直接连接到 JVM 的优化编译器上。总的来说,这么做可以降低或消除调用期方法查找、参数装箱的代价,并且可以通过内联与优化实现JavaScript 对JavaScript 以及JavaScript 对Java 的调用。Nutter 说到使用invokedynamic 的另一个好处在于如果使用了Java 6,那么Rhino 的调用逻辑会变得更简单。

InfoQ 又向 Nutter 问到,随着 JavaScript 变得越来越重要,让 JVM 拥有更快的 JavaScript 实现是不是变得很重要了。Nutter 回答到:

我个人认为对 JavaScript 的大肆宣传有些过分了。对于浏览器来说它是一门优秀的语言,但主要原因是所有浏览器都支持它,而并不是说这门语言要比其他语言更好。 在服务器端,它变得流行的原因在于现在的运行时很不错,现有的面向客户端的众多库也适用于服务器端。

然而,考虑到最近 JavaScript 在端到端应用的日渐流行,那么再来一个 JVM 版也是自然而然的事情了。但尴尬的是最快的托管运行时——JVM——运行 JavaScript 的速度却无法与当前的竞争者相抗衡。我觉得是时候改变了。

最后,我们问 Nutter 从实现的角度来看,Rhino 与 JRuby 相比如何。Nutter 回答到:

Rhino 在很多方面都是更简单的一个目标,因为它并不具备 Ruby 的一些特性。然而,它代表了一种有趣的挑战,因为其基于原型的对象模型无法存储方法表缓存,而 Ruby 则可以做到。V8 所用的技术与 John Rose 的“DavinciMonkey”(基于 invokedynamic 的 Rhino 的一个早期尝试)——如将生成的合成类作为原型已经进行了修改——它可以更容易地处理 Rhino 不固定的类型结构。

Chrome 所用的 V8 JavaScrip 引擎与 Rhino 之间存在巨大的性能上的鸿沟。Nutter 说诸如 invokedynamic 等 JVM 特性可以填平这个鸿沟,但 Rhino 需要不断改进自身的性能才行。虽然 Rhino 是个不错的实现,但我们还可以使用其他一些技术来提升速度,可以使用新的 JVM 特性如 invokedynamic,也可以不使用。

现在说 Rhino 到底能不能与那些专门针对 JavaScript 的 VM 抗衡还为时过早,但毫无疑问,Rhino 的速度将会得到极大的提升。

查看英文原文: Rhino is About to Get a Lot Faster

2011-07-11 13:091849
用户头像

发布了 88 篇内容, 共 258.5 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Topaz Gigapixel AI 7.0.5 AI图片无损缩放

影影绰绰一往直前

新增功能:节点支持only配置啦!!!

都广科技

京东云开源软件治理工具SSCM强势来袭!免费试用

京东科技开发者

GPT 模型解析:ChatGPT 如何在语言处理领域引领潮流?

测试人

软件测试

多轨音频编辑软件Multitrack Editor for Mac

iMac小白

京东为openKylin新增SBOM利器,保障软件供应链安全和可追溯性

京东科技开发者

正则表达式-子表达式&回溯引用

追随月光的战士

#正则表达式

2024第104届上海电子展会

AIOTE智博会

电子展 电子信息展 上海电子展

Autodesk 3DS MAX 2025 (3Dmax2025) win版

iMac小白

BOE(京东方)发布2023年年报 稳定经营促进高质量发展

爱极客侠

云行|中国速度,智算未来!天翼云为宁波数智化发展注入新动能!

天翼云开发者社区

人工智能 云计算 云服务

JetBrains WebStorm 2023 v2023.3.6 激活版 win版

iMac小白

一文教你实战构建消息通知系统Django

华为云开发者联盟

Python 华为云 华为云开发者联盟 企业号2024年4月PK榜 Web应用程序

大模型LLM在Text2SQL上的应用实践

百度开发者中心

自然语言处理 大模型 LLM

智能商品管理:品牌实现以销定产的新引擎

第七在线

Topaz Photo AI 2.4.2 AI图片智能降噪

影影绰绰一往直前

透视微盟2023:SaaS基本盘稳健背后,大客化成色几何?

ToB行业头条

从GPT模型来看ChatGPT 如何在语言处理领域引领潮流?

霍格沃兹测试开发学社

强大集成开发环境(IDE)WebStorm 2023 for Mac

iMac小白

探索 ZKFair 的Dargon Slayer蓝图,解锁新阶段的潜力

长安区块链

Apifox 接口文档「额外字段 HashMap」的校验设置

Apifox

后端 hashmap 接口文档 API 额外字段

强大Ruby和Rails开发环境 JetBrains RubyMine 2023 for Mac v2023.3.6中文激活版

iMac小白

捷途山海T2正式开启预售,新能源方盒子SUV仅售18.49万起

Geek_2d6073

新增功能:节点支持only配置啦!!!

Jianmu

数据库管理工具 TablePlus for Mac 3.11.0免注册版

iMac小白

强大的视频下载工具 Downie 4 for Mac v4.7.7中文版

iMac小白

Affinity Publisher 2(逆天排版神器)v2.4.1中文直装版 win

iMac小白

云存储管理工具CloudMounter for Mac v4.5 激活版下载

iMac小白

玩转云端| 网络也i人?咋变显眼包?天翼云AccessOne边缘接入来了!

天翼云开发者社区

云计算 网络安全 云服务 边缘安全

NeuronEX 3.2.0 发布:增强数据采集、分析计算和管理功能

EMQ映云科技

通义灵码走进武汉大学:让 AI 编码助手激活大学生的创造力

阿里巴巴云原生

阿里云 AI 云原生

Rhino速度将得到提升_Java_Rick Hightower_InfoQ精选文章