David Behroozi

David Behroozi

@rootothez.bsky.social

Solo developer. Doing the impossible; faster. https://speedrun.cc AWS Community Builder.

626 followers124 following352 posts

The median latency improvement was skewed in my recent blog because the Lambda benchmark was distributed unevenly across 3 generations of arm processors. I've rerun the benchmark accounting for CPU generation and updated the post. Now I see a 20-29 ms improvement.

David Behroozi@rootothez.bsky.social

I spent a bunch of time trying to make LLRT start faster. After much yak-shaving I made it *checks notes* 8 ms faster 🫠. Nevertheless, I blogged about it: speedrun.nobackspacecrew.com/blog/2026/10...

This is interesting. I reran a benchmark but included which generation of Graviton Lambda ran under. With 128MB when I reduced my deployment package from 5.8 MB to 4.3 MB, P50 Coldstart E2E time is 50ms faster on Graviton4, 24ms faster on Graviton3 and 3ms faster on Graviton2.

You can have wildly different Lambda cold start times depending on which underlying CPU generation your code runs on. I recently started using /proc/cpuinfo to bucket by Graviton generation to do proper comparisons. Code is something like this to determine it for arm64:

At @cascadiajs.com 2026, I overheard some people talking about Iowa. Turns out they also went to Iowa State University. Although they graduated 15+ years after me, they asked if I'd had Gadia, the database structures professor who wrote his own book. Yes, and here's the doodles I drew on his book.

In the picture: a caricature of the professor, the batmobile, mafia man (a character in the video game I was making), the joker (the Jim Carrey one), a covered wagon, my watch (the class was 11-12, hands drawn at 11:25, digital drawn at 11:35) and a bucket (maybe storage related).

Anyone else notice improvements to log ingestion speed with lambda and CloudWatch dashboards? It used to be up to a minute before my logs were visible in a dashboard, but now it seems almost real-time.

This swag cup may be the worst I've ever used. Holding the rolled handle is awkward enough, but the mouth feel of the rolled lip on the rim is even more immediately no. It will be used to hold my jankiest pens.

Way back I wrote an Alexa skill to tell me if it was recycling week. It effectively did a n%2===0 on the week of the year. After 8 years of node updates I can confirm it's faster and easier to just look out the window and see if my neighbors' bins are out.

Also since July 2025 Node coldstarts have gotten faster. When running my benchmark which instantiates a v3 client and makes a service call during init on Node 24, I see it's 50ms faster on init duration and 60ms faster on E2E 🐇.

I ran my benchmark overnight to confirm there wasn't much improvement when turning on NODE_COMPILE_CACHE with Lambda Coldstarts. It's less than a 10ms improvement. There may be benefits with larger packages but for my setup (200K zip file) it isn't worth the trouble.

I experimented today with enabling NODE_COMPILE_CACHE to see if it would make Lambda coldstarts faster. I was able to create a .zip file with the cache from a previous run. I verified node used the cache successfully with NODE_DEBUG_NATIVE="COMPILE_CACHE". It didn't reduce the coldstart time 🫠.

LLRT v.8.1-beta has the fastest p50 InitDuration by 130ms. But if you measure E2E time from the client (what you should measure), it narrows to 79ms over AwsLite and 118ms over a modified AWS v3 JavaScript client on Node 24. This is likely due to the size of the LLRT binary being ~5MB.

For example, if x-forwarded-for is set to 127.0.0.1,205.33.27.32 you get 127.0.0.1 at Lambda. Lambda doesn't seem to mess with other headers that are comma separated, just x-forwarded-for.