kamilkisiela / 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
Fastify Node.js Fastify 5.80ms 17kps
WhatWG-Server Node.js Http 6.58ms 15kps
Mercurius Node.js Fastify 8.06ms 12kps
WhatWG-Server + GraphQL-JS (lru) Node.js Http 9.01ms 11kps
WhatWG-Server + Envelop Node.js Http 10.56ms 9.5kps
Fastify + GraphQL-JS (lru) Node.js Http 11.31ms 8.8kps
graphql-yoga Node.js http 15.20ms 6.6kps
graphql-jit Node.js http 17.78ms 5.6kps
apollo Node.js Express 32.95ms 3.0kps
graphql-js Node.js http 41.96ms 2.4kps

About

GraphQL server benchmarks

License:MIT License


Languages

Language:Elixir 31.9%Language:JavaScript 28.1%Language:Crystal 12.2%Language:Rust 6.6%Language:Go 4.8%Language:Ruby 3.4%Language:Scala 3.1%Language:Python 3.0%Language:Nim 3.0%Language:Dockerfile 1.8%Language:Nix 1.5%Language:C# 0.6%