diff --git a/README.md b/README.md index 99ccaf1b..56dcd6d3 100644 --- a/README.md +++ b/README.md @@ -51,32 +51,32 @@ Get started with the benchmarks: | Query | Server | Requests/sec | Latency (ms) | Relative | |-------:|--------:|--------------:|--------------:|---------:| | 1 | `{ posts { id userId title user { id name email }}}` | -|| [Tailcall] | `20,899.20` | `4.77` | `189.84x` | -|| [async-graphql] | `6,800.64` | `15.05` | `61.78x` | -|| [Caliban] | `5,589.40` | `17.91` | `50.77x` | -|| [GraphQL JIT] | `1,098.79` | `90.42` | `9.98x` | -|| [Gqlgen] | `394.05` | `250.17` | `3.58x` | -|| [Netflix DGS] | `186.73` | `518.35` | `1.70x` | -|| [Apollo GraphQL] | `130.26` | `702.77` | `1.18x` | -|| [Hasura] | `110.09` | `809.79` | `1.00x` | +|| [Tailcall] | `21,444.00` | `4.65` | `183.30x` | +|| [GraphQL JIT] | `1,105.64` | `89.96` | `9.45x` | +|| [async-graphql] | `971.47` | `102.16` | `8.30x` | +|| [Caliban] | `815.25` | `122.33` | `6.97x` | +|| [Gqlgen] | `391.60` | `251.71` | `3.35x` | +|| [Netflix DGS] | `184.64` | `524.89` | `1.58x` | +|| [Apollo GraphQL] | `131.52` | `699.66` | `1.12x` | +|| [Hasura] | `116.99` | `770.84` | `1.00x` | | 2 | `{ posts { title }}` | -|| [async-graphql] | `36,897.90` | `2.77` | `87.55x` | -|| [Caliban] | `32,779.60` | `3.17` | `77.78x` | -|| [Tailcall] | `31,556.50` | `3.17` | `74.88x` | -|| [Gqlgen] | `1,140.46` | `95.52` | `2.71x` | -|| [GraphQL JIT] | `1,118.08` | `89.27` | `2.65x` | -|| [Apollo GraphQL] | `887.26` | `113.08` | `2.11x` | -|| [Netflix DGS] | `792.35` | `126.75` | `1.88x` | -|| [Hasura] | `421.44` | `239.43` | `1.00x` | +|| [Tailcall] | `32,774.00` | `3.05` | `73.63x` | +|| [async-graphql] | `5,056.48` | `19.82` | `11.36x` | +|| [Caliban] | `4,815.76` | `21.29` | `10.82x` | +|| [GraphQL JIT] | `1,134.06` | `87.99` | `2.55x` | +|| [Gqlgen] | `1,118.49` | `97.34` | `2.51x` | +|| [Apollo GraphQL] | `892.68` | `112.42` | `2.01x` | +|| [Netflix DGS] | `796.19` | `126.44` | `1.79x` | +|| [Hasura] | `445.14` | `237.40` | `1.00x` | | 3 | `{ greet }` | -|| [Caliban] | `273,944.00` | `356.83` | `201.87x` | -|| [async-graphql] | `176,046.00` | `775.23` | `129.73x` | -|| [Tailcall] | `39,867.10` | `2.51` | `29.38x` | -|| [Gqlgen] | `24,658.00` | `8.02` | `18.17x` | -|| [GraphQL JIT] | `4,456.10` | `22.39` | `3.28x` | -|| [Netflix DGS] | `4,167.40` | `28.86` | `3.07x` | -|| [Apollo GraphQL] | `4,013.52` | `27.68` | `2.96x` | -|| [Hasura] | `1,357.01` | `73.39` | `1.00x` | +|| [Tailcall] | `39,632.50` | `2.53` | `27.52x` | +|| [Caliban] | `33,754.90` | `2.96` | `23.43x` | +|| [Gqlgen] | `24,454.40` | `10.84` | `16.98x` | +|| [async-graphql] | `23,220.60` | `4.32` | `16.12x` | +|| [GraphQL JIT] | `4,527.13` | `22.03` | `3.14x` | +|| [Netflix DGS] | `4,218.29` | `28.13` | `2.93x` | +|| [Apollo GraphQL] | `4,076.08` | `27.52` | `2.83x` | +|| [Hasura] | `1,440.38` | `69.39` | `1.00x` | diff --git a/assets/latency_histogram1.png b/assets/latency_histogram1.png index 52fa769b..3b241a7d 100644 Binary files a/assets/latency_histogram1.png and b/assets/latency_histogram1.png differ diff --git a/assets/latency_histogram2.png b/assets/latency_histogram2.png index b7386c86..059ca2f5 100644 Binary files a/assets/latency_histogram2.png and b/assets/latency_histogram2.png differ diff --git a/assets/latency_histogram3.png b/assets/latency_histogram3.png index a9214942..3fa52b90 100644 Binary files a/assets/latency_histogram3.png and b/assets/latency_histogram3.png differ diff --git a/assets/req_sec_histogram1.png b/assets/req_sec_histogram1.png index 4556b97c..3eb7bfe4 100644 Binary files a/assets/req_sec_histogram1.png and b/assets/req_sec_histogram1.png differ diff --git a/assets/req_sec_histogram2.png b/assets/req_sec_histogram2.png index 96f568d5..610269c4 100644 Binary files a/assets/req_sec_histogram2.png and b/assets/req_sec_histogram2.png differ diff --git a/assets/req_sec_histogram3.png b/assets/req_sec_histogram3.png index f6be0d0e..b376ab75 100644 Binary files a/assets/req_sec_histogram3.png and b/assets/req_sec_histogram3.png differ diff --git a/results.md b/results.md index 8cdfdf20..09b61329 100644 --- a/results.md +++ b/results.md @@ -3,31 +3,31 @@ | Query | Server | Requests/sec | Latency (ms) | Relative | |-------:|--------:|--------------:|--------------:|---------:| | 1 | `{ posts { id userId title user { id name email }}}` | -|| [Tailcall] | `20,899.20` | `4.77` | `189.84x` | -|| [async-graphql] | `6,800.64` | `15.05` | `61.78x` | -|| [Caliban] | `5,589.40` | `17.91` | `50.77x` | -|| [GraphQL JIT] | `1,098.79` | `90.42` | `9.98x` | -|| [Gqlgen] | `394.05` | `250.17` | `3.58x` | -|| [Netflix DGS] | `186.73` | `518.35` | `1.70x` | -|| [Apollo GraphQL] | `130.26` | `702.77` | `1.18x` | -|| [Hasura] | `110.09` | `809.79` | `1.00x` | +|| [Tailcall] | `21,444.00` | `4.65` | `183.30x` | +|| [GraphQL JIT] | `1,105.64` | `89.96` | `9.45x` | +|| [async-graphql] | `971.47` | `102.16` | `8.30x` | +|| [Caliban] | `815.25` | `122.33` | `6.97x` | +|| [Gqlgen] | `391.60` | `251.71` | `3.35x` | +|| [Netflix DGS] | `184.64` | `524.89` | `1.58x` | +|| [Apollo GraphQL] | `131.52` | `699.66` | `1.12x` | +|| [Hasura] | `116.99` | `770.84` | `1.00x` | | 2 | `{ posts { title }}` | -|| [async-graphql] | `36,897.90` | `2.77` | `87.55x` | -|| [Caliban] | `32,779.60` | `3.17` | `77.78x` | -|| [Tailcall] | `31,556.50` | `3.17` | `74.88x` | -|| [Gqlgen] | `1,140.46` | `95.52` | `2.71x` | -|| [GraphQL JIT] | `1,118.08` | `89.27` | `2.65x` | -|| [Apollo GraphQL] | `887.26` | `113.08` | `2.11x` | -|| [Netflix DGS] | `792.35` | `126.75` | `1.88x` | -|| [Hasura] | `421.44` | `239.43` | `1.00x` | +|| [Tailcall] | `32,774.00` | `3.05` | `73.63x` | +|| [async-graphql] | `5,056.48` | `19.82` | `11.36x` | +|| [Caliban] | `4,815.76` | `21.29` | `10.82x` | +|| [GraphQL JIT] | `1,134.06` | `87.99` | `2.55x` | +|| [Gqlgen] | `1,118.49` | `97.34` | `2.51x` | +|| [Apollo GraphQL] | `892.68` | `112.42` | `2.01x` | +|| [Netflix DGS] | `796.19` | `126.44` | `1.79x` | +|| [Hasura] | `445.14` | `237.40` | `1.00x` | | 3 | `{ greet }` | -|| [Caliban] | `273,944.00` | `356.83` | `201.87x` | -|| [async-graphql] | `176,046.00` | `775.23` | `129.73x` | -|| [Tailcall] | `39,867.10` | `2.51` | `29.38x` | -|| [Gqlgen] | `24,658.00` | `8.02` | `18.17x` | -|| [GraphQL JIT] | `4,456.10` | `22.39` | `3.28x` | -|| [Netflix DGS] | `4,167.40` | `28.86` | `3.07x` | -|| [Apollo GraphQL] | `4,013.52` | `27.68` | `2.96x` | -|| [Hasura] | `1,357.01` | `73.39` | `1.00x` | +|| [Tailcall] | `39,632.50` | `2.53` | `27.52x` | +|| [Caliban] | `33,754.90` | `2.96` | `23.43x` | +|| [Gqlgen] | `24,454.40` | `10.84` | `16.98x` | +|| [async-graphql] | `23,220.60` | `4.32` | `16.12x` | +|| [GraphQL JIT] | `4,527.13` | `22.03` | `3.14x` | +|| [Netflix DGS] | `4,218.29` | `28.13` | `2.93x` | +|| [Apollo GraphQL] | `4,076.08` | `27.52` | `2.83x` | +|| [Hasura] | `1,440.38` | `69.39` | `1.00x` |