spcl/serverless-benchmarks

Polyglot SeBS

Open

#235 opened on Feb 20, 2025

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Python (99 forks)auto 404
awsazuregcpgood first issue

Repository metrics

Stars
 (196 stars)
PR merge metrics
 (PR metrics pending)

Description

In SeBS, we initially focused on Python and Node.js; not all benchmarks have a Node.js implementation. We have pending support for C++ (#145) and Java (#223). However, we want to have at least microbenchmarks in many other languages:

  • Merge Java support (#223)
  • Missing Node.js benchmarks
  • Add Node.js CRUD benchmark with NoSQL storage.
  • Missing C++ benchmarks (image processing, image recognition) + #94
  • .NET
  • Rust
  • Go
  • New runtimes for Java, e.g., GraalVM
  • New runtimes for Node.js, like Bun and LLRT
  • New runtimes for Python, like PyPy or CPython 3.13 with the experimental JIT flag (needs manual build)

We should be able to benchmark the impact of choosing alternative runtimes.

How to support new and custom runtimes?

  • AWS -> supported by default.
  • Azure - we can implement custom handlers via HTTP
  • GCP - Google Cloud Functions 2nd gen are built on Cloud Run, so we could run custom images (only Docker) on Cloud Run and then create triggers ourselves.

Contributor guide