AWS开源低延迟JavaScript运行时LLRT
AWS最近开源了其JavaScript运行时LLRT(低延迟运行时),这是一个实验性的轻量级JavaScript运行时,旨在满足对快速高效无服务器应用程序日益增长的需求。
主要特点与优势
- 性能提升:LLRT在启动速度上比其他在AWS Lambda上运行的JavaScript运行时快十倍以上,成本降低两倍。
- 技术基础:LLRT使用Rust语言构建,并采用QuickJS作为JavaScript引擎,确保高效的内存使用和快速启动。
- 集成性:运行时与Lambda和AWS SDK(v3)集成。
- 无JIT编译器:与Node.js、Bun和Deno等通用运行时不同,LLRT不包含即时(JIT)编译器,这减少了系统复杂性和运行时大小,同时节省CPU和内存资源,从而加快应用程序启动时间。
性能提升的原因
- 代码打包:LLRT要求将代码和依赖项打包成一个.js文件,消除了Node在模块解析阶段发生的文件系统查找。
- 预加载AWS SDK:LLRT预打包、预编译(为字节码)和预加载AWS SDK的部分内容,与需要加载和解释JS文件的通用运行时相比,这带来了显著的性能优势。
适用场景
LLRT在较小的无服务器函数中最为高效,适用于数据转换、实时处理、AWS服务集成以及授权和验证任务。
社区反馈
- Reddit评论:LLRT的速度提升主要来自于其限制性设计,如代码打包和预加载AWS SDK。
- Hacker News评论:LLRT适用于Lambda作为“胶水”的场景,如路由请求或授权策略决策,但对于需要大量计算的应用,QuickJS的性能可能不如V8。
- Twitter评论:有开发者对LLRT表示怀疑,认为它会增加Lambda开发的复杂性,并可能导致更多的供应商锁定。
结论
尽管LLRT显示出潜力,但在推荐用于生产之前,还需要更多的稳定性、支持和实际测试。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。