What makes LLRT the FASTEST JavaScript runtime for Lambda?
ฝัง
- เผยแพร่เมื่อ 22 ส.ค. 2024
- Ep #97 of the Real-World Serverless podcast
In this episode, I spoke with Richard Davison, the creator of the new LLRT (Low Latency Runtime) for Lambda. We talked about the motivation for a specialised JavaScript runtime for Lambda, how it achieves the insane cold start time and the trade-offs they had to make.
Links from the episode:
* GitHub repo for LLRT github.com/aws...
* API compatibility list github.com/aws...
* QuickJs bellard.org/qu...
* Follow Richard Davison's on linkedin / richard-davison-992462101
✅ Recommended playlists:
Real-World Serverless podcast on TH-cam
• Is AWS Bedrock the Ope...
My BEST videos of 2023
• Is AWS Bedrock the Ope...
🔔 For more free videos on TH-cam, subscribe to my channel:
youtube.com/@t...
💌 If you're hungry for more insights, best practices, and tips on building serverless applications, make sure to subscribe to my weekly newsletter and elevate your serverless game!
theburningmonk...
📚 My courses 📚
theburningmonk...
👨🏫 My hands-on serverless workshop 👨🏫
productionread...
🌐 Find me here
Twitter: / theburningmonk
LinkedIn: / theburningmonk
Blog: theburningmonk.com
Great interview! Are there ideas to link LLRT and V8 later in the sense that loads are transferred depending on their characterstics between engines?
I don't see that'd make sense for a few reasons:
1. you'd probably lose any application state, because those need to run as separate processes.
2. to ship both would also significantly impact your bundle size and therefore cold start performance
3. if V8 only handles some executions then you'd lose the value of JIT - one of the arguments for not shipping a JIT compiler with LLRT is that Lambda execution environments are short-lived, having both would cut the usefulness of JIT even more
4. if you'd need to initialize two runtimes, then the cold start time would be the sum of the two
Which metric show the lambda cold start time....or id there some other configurations
The closest approximatation is the initDuration, which is reported in the Lambda REPORT logs, but is not a metric. You can analyze it with CloudWatch Logs Insights.
There are also some other time associated with downloading the artefact, and allocating a space in the fleet. But those are outside of your control, so it's best to focus on the initDuration, which is how long does it take to initialize the execution environment on a worker instance.