2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

轻量可嵌入的 QuickJS 引擎重磅开源,它会是下一个 V8 吗?

  • 2019-07-15
  • 本文字数:1216 字

    阅读完需:约 4 分钟

轻量可嵌入的QuickJS引擎重磅开源,它会是下一个V8吗?

上周是这是 JavaScript 引擎的重要一周。在 Facebook 发布 Hermes 引擎之前, Bellard 以及 C 语言专家 Charlie Gordon 公开发布了 QuickJS。它是在 MIT 许可下发布的一个轻量可嵌入的 JavaScript 引擎,支持最新的 ES2019 语言规范。


正如 Twitter 上的一位网友所说“JavaScript 引擎很像公交汽车:你等了好几年都没来,然后两个闪亮新玩家一并出现!”


QuickJS 的特点

QuickJS 支持 ES2019规范, 包括模块,异步生成器和代理。同时可选地支持数学扩展,例如BigInt、BigFloat 和运算符重载。


主要特点:


  • 小巧且易于嵌入:只需几个 C 文件,无外部依赖,x86 下一个简单的 hello world 示例程序仅 190 KB 的大小。

  • 具有极低启动时间的快速解释器:在台式 PC 的单核上,在大约 100 秒内运行ECMAScript测试套件56000 次测试。运行时实例的完整生命周期在不到 300 微秒的时间内完成。

  • 支持ES2019 ,包括模块、异步生成器和完整的 Annex B 支持(传统的 Web 兼容性)。

  • 100%的通过了 ECMAScript 测试用例。

  • 可以将 Javascript 源编译为没有外部依赖的可执行文件。

  • 使用引用计数(以减少内存使用并具有确定性行为)的垃圾收集与循环删除。

  • 数学扩展:BigInt,BigFloat,运算符重载,bigint 模式,数学模式。

  • 在 Javascript 中实现的具有上下文着色的命令行解释器。

  • 带有 C 库包装库构建的内置标准库。

能否取代 V8

这个消息一经发出便在 Hacker News、知乎等社区上引发热议。


Hacker News 上网友“Aissen”说:


我私下里见过 Fabrice 一次,他绝对是一个非常谦逊的人。当他告诉我们在大约一年前开始做这个项目时,他认为这不是什么大事,只是一个小型的 js 引擎,永远不会与 v8 竞争。在回答完我的几个问题之后,显然目标是实现最新的 ECMAScript 规范,包括所有好的东西。但它永远不会与 V8 成为竞争的关系。


知乎网友“龙泉寺扫地僧”说


又是 Bellard 大神的作品,此大神当年看他写的 QEMU 就惊为天人,现在终于对 JS 下手了。


V8 越来越大,最新版好像都快 10M 了,其实很多时候我就想带个小巧可用的 js 引擎而已,这次刚好可以填补这方面的空白(其他 js 引擎对标准实现的还不够完善)。要不是 Blink 和 V8 深度绑定,我真想把 V8 替换掉。


不过好像没有 JIT?那就有点遗憾了。毕竟 Bellard 大神就是做编译优化出身的,QEMU 里的能跑这么快就是靠动态翻译执行,希望后续能补上。


来源:https://www.zhihu.com/question/334509855/answer/746217029

一路开挂的作者

Fabrice 是一位法国著名的计算机程序员,因 FFmpeg、QEMU 等项目而闻名业内。他也是最快圆周率算法贝拉公式、TCCBOOT 和 TCC 等项目的作者。曾在国际 C 语言混乱代码大赛中两度获胜。


网友 justjavac 在知乎上晒出了作者之前的伟绩:



图片来源:https://www.zhihu.com/question/334509855/answer/745753879

网友尝鲜

QuickJS 以其轻巧好用的特性被大家广为赞赏,一些网友已经开始尝试使用它了,感兴趣的朋友可以去看下:


QuickJS for IOS:https://github.com/siuying/QuickJS-iOS


2019-07-15 19:4210591
用户头像
王莹 腾讯云产品运营

发布了 75 篇内容, 共 49.6 次阅读, 收获喜欢 231 次。

关注

评论 3 条评论

发布
用户头像
大神就是让人望尘莫及
2019-08-08 15:30
回复
用户头像
非一般的存在
2019-07-21 11:58
回复
用户头像
666
2019-07-15 23:35
回复
没有更多了
发现更多内容

Zenlayer 推出 AI 模型全球调用解决方案,破局企业部署三大挑战

极客天地

harmony-utils之Base64Util,Base64工具类

桃花镇童长老

HarmonyOS

三级等保3-5万值不值?

等保测评

智慧生产管控数字化平台(源码+文档+讲解+演示)

深圳亥时科技

三方系统集成(低代码)平台实践

vivo互联网技术

Java 架构 后端 低代码

MyEMS开源能源管理系统v5.6.0发布通知

开源能源管理系统

开源 能源管理 开源能源管理

咕泡AI课程专家团全拆解 | 技术答疑助你全周期通关!

咕泡科技

人工智能 AI 咕泡人工智能 咕泡ai

harmony-utils之WantUtil,Want工具类

桃花镇童长老

HarmonyOS

等保合规方案,等保怎么办,等保如何托管

等保测评

区块链 RWA 系统的运营

北京木奇移动技术有限公司

区块链技术 软件外包公司 RWA开发

区块链 RWA 系统的上线

北京木奇移动技术有限公司

建筑矿山设备工厂与 MyEMS 能源管理系统深度应用白皮书

开源能源管理系统

开源 能源管理 节能减排 工厂安全生产

私有化部署 IM:即时通讯软件助力团队协作

BeeWorks

即时通讯 IM 私有化部署

harmony-utils之WindowUtil,窗口相关工具类

桃花镇童长老

HarmonyOS

harmony-utils之AES,AES加解密

桃花镇童长老

HarmonyOS

HarmonyOS NEXT仓颉开发语言实战案例:银行App

幽蓝计划

拼多多店铺订单列表,订单详情,订单物流接口指南

tbapi

拼多多API 拼多多店铺接口 拼多多店铺订单接口 拼多多店铺订单详情接口

区块链 Web3 项目的上线

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

如何为 gRPC Server 编写本地测试代码

左诗右码

Java程序员的职业加速器:飞算JavaAI一键生成完整工程代码,轻松应对开发挑战

猫头虎

Java 人工智能 AI编程 idea intellij

模块化电商解决方案

微擎应用市场

7月1日19点,ModelWhale 大模型应用平台全新升级!

ModelWhale

大模型 modelwhale

大数据-22 Sqoop 数据MySQL到HDFS集群 JDBC ETL MapReduce

武子康

大数据 hadoop hdfs hive sqoop

网易云信 x Doris:降本70%、提速11倍, 统一 ES/InfluxDB/Hive 多技术栈的落地实践

SelectDB

数据库 App ES Doris 网易云信

领跑 AI 基础设施存储赛道!焱融科技实力登榜「AI Cloud 100 China」

焱融科技

文件存储 大模型 AI基础设施 2025 AI Cloud 100 China

harmony-utils之DES,DES加解密

桃花镇童长老

HarmonyOS

商品中心—商品B端搜索系统的实现文档(二)

不在线第一只蜗牛

架构

LED显示屏如何助力企业腾飞?

Dylan

数字 LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家

【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit (6)

HarmonyOS SDK

harmoyos

香港校长团探访博大数据前海智算中心,科技赋能教育共育湾区数字人才

极客天地

CST软件如何设置分布式计算(Distributed Computing)的 TCP-IP子网

思茂信息

cst操作 CST软件 CST Studio Suite

轻量可嵌入的QuickJS引擎重磅开源,它会是下一个V8吗?_编程语言_王莹_InfoQ精选文章