Node.js 又要被替代了?亚马逊推出新的 JS 运行时,速度快 10 倍

2024年 2月 21日 38.6k 0

前有 Deno 后有 Bun,近期又杀出个 LLRT,做为 JavaScript 服务端的运行时,Node.js 这些年 “不是被超越就是在被超越的路上”。

每出个新运行时环境基本都会同 Node.js 做个比较,瞧!我比你快哦!这次有 10 倍之差。

如下所示 LLRT VS Node.js 20

LLRT - DynamoDB Put, ARM, 128MB:

Node.js 20 - DynamoDB Put, ARM, 128MB:

图片图片

了解下 LLRT

LLRT(低延迟运行时)是亚马逊推出的一种轻量级 JavaScript 运行时。旨在满足对快速高效的无服务器应用程序不断增长的需求。

LLRT 运行时没有采用 V8 引擎,它使用 Rust 构建,利用 QuickJS 作为 JavaScript 引擎,确保高效的内存使用和快速启动。与 AWS Lambda 上运行的其他 JavaScript 运行时相比, LLRT 的启动速度提高了 10 倍以上,总体成本降低了 2 倍

根据官方仓库的定义来看,主要用于 Serverless 应用程序。如下所示:“解释了为什么在 Node.js、Bun 和 Deno 等现有选择之后,为什么再引入另一个 JavaScript 运行时?”

Node.js、Bun 和 Deno 代表了高效的 JavaScript 运行时。然而,它们设计时考虑的是通用应用程序。这些运行时并未专门为短生命周期的运行实例所需的无服务器环境而设计。它们每个都依赖于即时编译器(JIT)来在执行期间进行动态代码编译和优化。虽然即时编译提供了显著的长期性能优势,但它带来了计算和内存开销。

相比之下,LLRT 通过不包含 JIT 编译器而使自己与众不同,这是一个战略性的决定,带来了两个重大优势:

  • A)JIT 编译是一个显著复杂的技术组件,增加了系统复杂性,并且对运行时的整体大小有很大贡献。
  • B)没有 JIT 开销,LLRT 节省了 CPU 和内存资源,这些资源可以更有效地分配给代码执行任务,从而减少应用程序的启动时间。

其官方仓库也有声明 LLRT 不会是 Node.js 的替代品,仅支持一小部分的 Node.js API。

图片图片

参考 LLRT Github 仓库 https://github.com/awslabs/llrt

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论