Bun 在解码 Base64 方面比 Node.js 22 快得多,但两者都依赖于相同的库
在最近的一则推文中,计算机科学家 Daniel Lemire 指出,JavaScript 运行时 Bun 在解码 Base64 输入时,比 Node.js 22 快了数倍。尽管两者都依赖于同一个底层库 simdutf 来进行实际解码,但 Node.js 在与其底层 JavaScript 引擎 v8 交互时遇到了瓶颈。
Lemire 详细解释了问题的根源在于 Node.js 在开始解码字符串之前,需要通过调用 String::Value
函数来获取字符串的值。这一步操作会在 Node.js 内部分配一个数组,并要求 v8 将内容复制到这个数组中。由于无法直接访问 v8 中存储的字符串,Node.js 被迫将纯 ASCII 字符串转换为 UTF-16,导致了不必要的性能损失。
Lemire 的分析显示,Base64 解码过程仅占总运行时间的五分之一,而字符复制过程则占据了将近一半的时间。这种多余的转换不仅浪费了资源,还使得整个解码过程效率低下。
与此同时,Bun 通过不同的架构设计,避免了这些性能瓶颈。Bun 使用了 JavaScriptCore 引擎,并通过优化字符串处理路径,直接处理 8-bit 输入,避免了不必要的 UTF-16 转换。这样的设计使得 Bun 能够在 Base64 解码等操作中显著领先于 Node.js。
这则消息在开发者社区引发了广泛讨论。有开发者在 HackerNews 上分享了他们对 Bun 的使用体验,称其在速度和文档方面都表现出色,并推荐其他开发者尝试使用 Bun。尽管 Bun 仍然存在一些 API 和行为上的差异,但其性能优势和良好的开发体验使其成为 Node.js 的一个有力竞争者。
Bun 的开发团队也在不断努力,通过阅读和优化 JavaScriptCore 的代码,致力于提升 Bun 的性能和兼容性。Lemire 的分析不仅揭示了 Node.js 在性能优化上的挑战,也为 Bun 的发展提供了宝贵的参考。开发者们期待着 Node.js 和 Bun 在未来能够共同推动 JavaScript 生态系统的进步。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PikiwiDB (Pika) 混合存储之批量查询
1 背景 2023 年 11 月发布的 PikiwiDB(Pika)【下文简称 Pika】 v3.5.2 开始支持混合存储,旨在通过缓存热点数据提升查询速度。 Pika v3.5.2 的热数据缓存只实现了对热点 Key 的点查(如get/hget),在后续的 v3.5.3 和 v3.5.4 修复若干 bug 后,对热数据的点查目前已经非常稳定。然而并未支持批量查询(如 mget/hmget etc)。 近期业务侧(360 AI 推荐)反馈批量查询速度比较慢,在 40core CPU/256GiB 内存/2TiB SATA SSD 规格机器上数据量超过 100GiB 时,Pika v3.3.6 30% 批量查询延迟超过 35ms【下文称之为失败率】。业务考虑升级 Pika 到 v3.5.4 版本,使用热数据缓存以提升性能。但由于 Pika 热数据缓存尚未支持批量查询,性能并未改善。 为了满足业务需求,Pika 团队开发了批量查询热数据缓存功能,显著提升了批量查询性能,降低了查询延迟和失败率。 2 原理 以 MGET 命令为例,批量查询热数据缓存采用以下策略: 命中缓存: 首先查询 Red...
- 下一篇
deepin 加入甲辰计划,共建 RISC-V 繁荣生态
内容来源:deepin(深度)社区 今日,deepin(深度)社区宣布正式加入甲辰计划,致力于在下一个丙辰年(2036龙年)之前,基于RISC-V实现从数据中心到桌面办公、从移动穿戴到智能物联网全信息产业覆盖的开放标准体系及开源系统软件栈,使RISC-V软硬件生态达到作为主流指令集架构所需的生态成熟度。 deepin(深度)社区成立于2008年,在电脑操作系统开发领域经验沉淀深厚,是全球规模最大且最活跃的操作系统开源社区之一,也是中国首个桌面操作系统根社区。deepin作为目前国际Linux发行版排名最高的国产操作系统,一直致力于为用户提供更广泛的硬件支持。deepin自2022年2月就启动了RISC-V适配事项,现已成功支持了x86、ARM、loongArch、RISC-V各类主流CPU架构,在RISC-V硬件生态方面已和多家板卡厂商完成适配合作。 deepin 全面构筑 RISC-V 生态体系 deepin支持了大部分主流的RISC-V硬件和开发板,包括但不限于: Hifive unmatched 进迭时空SpacemiT MUSE™ Box 赛昉科技 VisionFive 1、V...
相关文章
文章评论
共有0条评论来说两句吧...