alertlogic/erllambda

Are there any metrics about the cold start time

codeadict opened this issue · 3 comments

Actually the Java and .Net runtimes for lambda have pretty slow cold start times, I imagine this will be a thing also with Erlang but will be nice to measure that and compare with other runtimes. I probably can start something and write a blog post, great job folks, I'm excited about this!

well, you'll be surprised but a cold start for one of our deploys with lots of dependancies (total erts+rest ~25MB) is under a second for 1.5GB lambda.
As written in readme having under 512MB is slightly underutilising the whole thing and there it could take 3-5sec.

I'll add a cold start section here to the readme with some measurements on various RAM sizes.

here are some numbers for hello world example (measured by @MikeBenza):

Cold

Init Duration: 834.09 ms Duration: 3.35 ms Billed Duration: 900 ms Memory Size: 512 MB Max Memory Used: 89 MB

Warm:

Duration: 30.30 ms Billed Duration: 100 ms Memory Size: 512 MB Max Memory Used: 89 M
Duration: 2.87 ms Billed Duration: 100 ms Memory Size: 512 MB Max Memory Used: 89 MB
Duration: 2.67 ms Billed Duration: 100 ms Memory Size: 512 MB Max Memory Used: 89 MB
Duration: 28.81 ms Billed Duration: 100 ms Memory Size: 512 MB Max Memory Used: 89 MB
Duration: 14.97 ms Billed Duration: 100 ms Memory Size: 512 MB Max Memory Used: 89 MB

There are some numbers here. Note this is 256MB function. Provisioned memory correlates with provisioned compute capacity for lambda functions.

Init time:
boxplot-1
Execution time:
duration

upd: fixed execution time graph (swapped first_call tag)