Skip to content

Benchmarks for different Node.js GraphQL Servers

License

Notifications You must be signed in to change notification settings

benawad/node-graphql-benchmarks

 
 

Repository files navigation

TL;DR

  • graphql-jit helps
  • apollo-server adds overhead
  • tracing resolvers kills performance
  • type-graphql adds overhead

Explanation

For further details, please check out this video.

Usage

git clone https://github.com/benawad/benchmarks
cd benchmarks
npm install
npm start

Benchmarks

duration: 60.14s connections: 100 pipelining: 5

Server Requests/s Latency Throughput/Mb
rust-graphql 66804.8 7.00 391.47
bun-yoga-jit 13934.5 35.38 94.31
go-graphql 13567.7 36.36 79.78
uWebSockets-graphql+jit 12364.5 39.93 83.33
core-graphql-jit-str 9154.3 54.11 61.95
core-graphql-jit-buf 9120.5 54.31 61.73
benzene-jit-http 8756.6 56.58 59.69
apollo-schema+async 8589.9 57.69 2.38
graphql-http+middleware 8576.5 57.78 2.37
graphql-http 8567.2 57.85 2.37
graphql-http+type-graphql 8566.9 57.84 2.37
graphql-http+async-middleware 8429.6 58.80 2.33
graphql-compose+async 8415.9 58.90 2.33
graphql-http+graphql-jit+type-graphql 8415.1 58.90 2.33
graphql-http+async 8388.3 59.09 2.32
graphql-http+graphql-jit+graphql-compose 8350.7 59.35 2.31
core-graphql-jit-buf-fjs 8251.5 60.06 55.85
fastify-REST 8247.3 60.11 76.00
graphql-http+graphql-compose 8227.7 60.25 2.28
graphql-http+graphql-jit 8157.3 60.77 2.26
bun-yoga 8132.2 60.96 55.04
graphql-http-dd-trace-no-plugin 7920.7 62.60 2.19
mercurius+graphql-jit 7624.2 65.06 51.95
mercurius+graphql-jit+type-graphql 6446.1 77.03 43.92
graphql-http-dd-trace 5410.9 91.85 1.50
graphql-http-dd-trace-less 5313.5 93.52 1.47
express-REST 4988.7 99.66 46.28
benzene-http 4776.6 104.11 32.56
mercurius+graphql-jit+otel-instrumentation 4717.1 105.42 32.14
mercurius+graphql-compose 4468.4 111.31 30.44
mercurius 4400.1 113.05 29.98
graphql-api-koa+graphql-jit 4223.8 117.78 28.75
yoga-graphql 3815.7 130.43 25.99
graphql-api-koa 3046.7 163.43 20.73
apollo-as-integrations-fastify+graphql-jit 2722.3 182.94 18.61
apollo-as-integrations-fastify+graphql-jit+type-graphql 2652.8 187.71 18.14
apollo-as-integrations-fastify 2578.5 192.82 17.63
apollo-as-koa-integrations+graphql-jit+type-graphql 2385.0 207.45 16.41
apollo-server-express-tracing 2131.1 230.22 14.77
apollo-server-express 2116.2 231.06 14.67
apollo-opentracing 0.0 0.00 0.00
express-gql 0.0 0.00 0.00
fastify-express-graphql-jit 0.0 0.00 0.00
fastify-express-graphql-typed-jit 0.0 0.00 0.00
fastify-express-grapql-typed 0.0 0.00 0.00

About

Benchmarks for different Node.js GraphQL Servers

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 84.2%
  • TypeScript 7.2%
  • Go 4.6%
  • Rust 4.0%