为什么Rust适合无服务器?因为它对用户来说更快,尤其是冷启动。请点击标题加载网页,自己尝试一下,看看有何不同。
该测试比较了Rust、Go、Python、NodeJs、Ruby、.NET、Java等几种语言在serverless平台的启动时间,结果:
Rust启动时最短 15ms
Go其次64ms
python83ms
Java8和Java11垫底400ms
第1步在每个 AWS 支持的运行时中都编写了一个超简单的 hello-world 函数:
nodejs12x
nodejs14x
nodejs16x
nodejs18x
python37
python38
python39
dotnetcore31
dotnet6
go1x
java11
java8
ruby27
除了两个自定义运行时:
go在provided
rust在provided.al2
每个函数都打包在一个 zip 文件中,上传到 S3 存储桶。
第2步每天,每个功能都从 S3 中获取,作为冷启动部署和调用 10 次。然后,包含初始化持续时间、使用的最大内存和其他有用信息的 REPORT 日志行将保存到 DynamoDB 表中。
步骤 3在所有这些调用之后,存储在 Dynabo DB 中的所有信息都会被聚合并创建一个新的 JSON 文件,然后提交给这个 repo。即:https ://github.com/maxday/lambda-perf/blob/main/data/2022-09-05.json