Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 2.38 KB

README.md

File metadata and controls

41 lines (33 loc) · 2.38 KB

GraphQL server benchmarks

Graphql server benchmarks in many languages. Pull requests welcome.

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.29ms 78kps
graphql-crystal Crystal Kemal 2.43ms 41kps
gqlgen Go net/http 3.17ms 32kps
Juniper Rust Actix Web 3.51ms 28kps
async-graphql Rust Actix Web 3.76ms 27kps
Hot Chocolate C# ASP.NET 6.50ms 15kps
Mercurius Node.js Fastify 7.64ms 13kps
graphql-go Go net/http 9.17ms 11kps
nim-graphql Nim Chronos 9.54ms 10kps
agoo Ruby/C agoo 10.47ms 9.5kps
graphql-yoga Node.js http 15.31ms 6.5kps
graphql-jit Node.js http 19.84ms 5.0kps
Absinthe Elixir Phoenix 22.22ms 4.5kps
apollo Node.js Express 31.02ms 3.2kps
graphql-ruby Ruby Puma 44.93ms 2.9kps
graphql-js Node.js http 40.17ms 2.5kps
Sangria Scala Akka HTTP 95.31ms 1.0kps
Graphene Python gunicorn 104.06ms 950ps
Strawberry Python gunicorn 104.28ms 950ps