
AWS Lambda Cold Start Language Comparisons - mjb
https://levelup.gitconnected.com/aws-lambda-cold-start-language-comparisons-2019-edition-%EF%B8%8F-1946d32a0244
======
tomComb
Their Node runtime (based on 8.x) is now the fastest, but I note that Node 12
includes the version of v8 that supports snapshots. Node 12 goes LTE next
month and from what I understand, once snapshots could give Node another
significant start-up speed boost.

------
robbyt
Go 1x? I assume this is 1.12.x? v1.13 has some start-up time enhancements.

I wish there was some more info about the testing methodology...

------
tomcam
Appears I am painfully behind js tech. How can starting a JavaScript
interpreter be faster than compiled Go?

~~~
ivanvanderbyl
My assumption here is that the Node implementation loads your code off disk
during cold start using standard require(). Whereas the Go implementation
requires loading a small wrapper (probably also in Node) which execs the Go
process which then handles your request.

In my experience, GCP Functions Go cold start time is almost nil because they
compile your code into the function entry point directly, so it's as quick as
calling a function in process.

~~~
adamhepner
OK, so the main takeaway for me for example would be that if I want write
lambdas in Go (because it's awesome), then GCP would be better choice for me.

But anyway, I'm not too current when it comes to lambdas. Are they compiled
everytime when cold started, or is a compiled binary stored in some sort of
image?

~~~
ivanvanderbyl
They are compiled during the deploy process, with the binary or code + deps
(for JS etc) stored on S3 and loaded on demand. This counts as part of the
cold boot time.

------
jaequery
So as of 2019, all languages are pretty much on par the same? Is that the
conclusion?

------
sieabahlpark
Of course js is the fastest. It's built to be cold started in the browser.

