Skip to content

tailcallhq/benchmarks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.83ms 110kps
Tailcall Rust Hyper 3.03ms 66kps
graphql-crystal Crystal Kemal 3.34ms 60kps
gqlgen Go net/http 3.96ms 51kps
async-graphql Rust Actix Web 4.60ms 43kps
Juniper Rust Actix Web 4.92ms 41kps
Hot Chocolate C# ASP.NET 8.58ms 23kps
Mercurius Node.js Fastify 9.90ms 20kps
graphql-go Go net/http 10.99ms 18kps
graphql-yoga Node.js http 14.89ms 13kps
graphql-jit Node.js http 20.05ms 10.0kps
nim-graphql Nim Chronos 20.65ms 9.7kps
Absinthe Elixir Phoenix 23.96ms 8.3kps
agoo Ruby/C agoo 26.61ms 7.3kps
Hono Bun HonoJS 28.55ms 7.0kps
apollo Node.js Express 34.78ms 5.8kps
graphql-ruby Ruby Puma 44.67ms 5.7kps
graphql-js Node.js http 45.94ms 4.4kps
Sangria Scala Akka HTTP 90.91ms 2.2kps
Strawberry Python gunicorn 108.45ms 1.8kps
Graphene Python gunicorn 108.37ms 1.8kps

About

GraphQL server benchmarks

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 40.2%
  • Crystal 14.6%
  • JavaScript 11.6%
  • Rust 7.9%
  • Go 5.5%
  • Ruby 4.0%
  • Other 16.2%