Git Product home page Git Product logo

lambda-perf's Introduction

๐Ÿ”„ Continous Lambda Cold Starts Analysis

TL;DR: ๐Ÿ‘€ to https://maxday.github.io/lambda-perf/

to see the benchmark result:

screenshot

Why?

There are already a lot of blog posts talking about Lambda Cold Starts performance per runtime but I could not find any always up-to-date information.

That's why I decided to create this project: data is always up to date as the benchmark is running daily.

How does it work?

Architecture diagram

architecture

Step 1

A ultra simple hello-world function has been written in each AWS supported runtime:

  • nodejs12x
  • nodejs14x
  • nodejs16x
  • nodejs18x
  • python37
  • python38
  • python39
  • dotnetcore31
  • dotnet6
  • go1x
  • java11
  • java8
  • ruby27

in addition to two custom runtimes:

  • go on provided
  • rust on provided.al2

Each of this function is packaged in a zip file, uploaded to a S3 bucket.

Step 2

Every day, each function is freshly grabbed from S3, deployed and invoked 10 times as cold starts.

Then the REPORT log line containing the init duration, max memory used and other useful information is saved to a DynamoDB table.

Step 3

After all these invocations, all information stored in Dynabo DB is aggregated and a new JSON file is created, then commited to this repo. ie: https://github.com/maxday/lambda-perf/blob/main/data/2022-09-05.json

Step 4

A static website, hosted on GitHub pages here: https://maxday.github.io/lambda-perf/ fetches this JSON file and displays the result in a (nice?) UI

Step 5

Hack/Fork/Send PR and create your own benchmarks!

Disclaimer

โš ๏ธ this project is not associated, affiliated, endorsed, or sponsored by any companies nor have they been reviewed tested or certified by any company.

lambda-perf's People

Contributors

algo-facile avatar maxday avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.