Skip to content

asalvi0/graphql-benchmarks

 
 

Repository files navigation

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

About

GraphQL server benchmarks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Elixir 38.2%
  • Crystal 14.5%
  • JavaScript 10.6%
  • Go 8.9%
  • Rust 7.9%
  • Ruby 4.1%
  • Other 15.8%