MrFoxPro / benchmarks

GraphQL server benchmarks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GraphQL server benchmarks

Graphql server benchmarks in many languages. Pull requests welcome, please read CONTRIBUTING.md

All servers implement a simple schema:

type Query {
  hello: String!
}

The returned string is always world.

The API is served over HTTP using a common web server and load tested using bombardier.

Results

Name Language Server Latency avg Requests
static-rust Rust Actix Web 1.98ms 50kps
graphql-crystal Crystal Kemal 4.04ms 25kps
gqlgen Go net/http 6.86ms 15kps
Juniper Rust Actix Web 7.37ms 14kps
async-graphql Rust Actix Web 7.57ms 13kps
agoo Ruby/C agoo 10.18ms 9.8kps
Hot Chocolate C# ASP.NET 12.97ms 7.9kps
graphql-go Go net/http 14.46ms 6.9kps
Mercurius Node.js Fastify 14.68ms 6.8kps
Hono Bun HonoJS 18.67ms 5.4kps
graphql-yoga Node.js http 25.62ms 3.9kps
graphql-jit Node.js http 26.98ms 3.7kps
Absinthe Elixir Phoenix 32.08ms 3.1kps
graphql-ruby Ruby Puma 55.67ms 2.3kps
apollo Node.js Express 50.49ms 2.0kps
graphql-js Node.js http 66.65ms 1.5kps
Strawberry Python gunicorn 126.23ms 780ps
Graphene Python gunicorn 126.85ms 780ps
Sangria Scala Akka HTTP 180.79ms 550ps

About

GraphQL server benchmarks

License:MIT License


Languages

Language:Elixir 41.3%Language:Crystal 14.2%Language:JavaScript 12.1%Language:Rust 7.6%Language:Go 5.6%Language:Ruby 4.0%Language:Scala 3.6%Language:Python 3.5%Language:Nim 3.5%Language:Dockerfile 2.1%Language:Nix 1.7%Language:C# 0.7%