diff --git a/README.md b/README.md index 64ac2a43..f5414b89 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] | `21,996.00` | `4.54` | `193.22x` | -|| [GraphQL JIT] | `1,081.08` | `91.89` | `9.50x` | -|| [async-graphql] | `1,001.51` | `99.12` | `8.80x` | -|| [Caliban] | `718.40` | `139.63` | `6.31x` | -|| [Gqlgen] | `396.74` | `248.54` | `3.49x` | -|| [Netflix DGS] | `188.83` | `514.79` | `1.66x` | -|| [Apollo GraphQL] | `128.30` | `711.52` | `1.13x` | -|| [Hasura] | `113.84` | `797.72` | `1.00x` | +|| [Tailcall] | `76,805.20` | `1.25` | `673.51x` | +|| [Netflix DGS] | `1,422.59` | `46.03` | `12.47x` | +|| [GraphQL JIT] | `1,122.34` | `88.58` | `9.84x` | +|| [async-graphql] | `1,000.51` | `99.34` | `8.77x` | +|| [Caliban] | `777.69` | `128.06` | `6.82x` | +|| [Gqlgen] | `398.26` | `247.47` | `3.49x` | +|| [Apollo GraphQL] | `115.11` | `778.66` | `1.01x` | +|| [Hasura] | `114.04` | `824.42` | `1.00x` | | 2 | `{ posts { title }}` | -|| [Tailcall] | `33,521.60` | `2.98` | `80.53x` | -|| [async-graphql] | `5,208.27` | `19.29` | `12.51x` | -|| [Caliban] | `4,777.52` | `21.39` | `11.48x` | -|| [Gqlgen] | `1,129.99` | `96.58` | `2.71x` | -|| [GraphQL JIT] | `1,112.37` | `89.69` | `2.67x` | -|| [Apollo GraphQL] | `886.37` | `113.13` | `2.13x` | -|| [Netflix DGS] | `811.71` | `124.26` | `1.95x` | -|| [Hasura] | `416.27` | `243.14` | `1.00x` | +|| [Tailcall] | `167,238.00` | `559.96` | `368.97x` | +|| [Netflix DGS] | `7,864.90` | `15.35` | `17.35x` | +|| [async-graphql] | `5,213.96` | `19.17` | `11.50x` | +|| [Caliban] | `4,634.00` | `22.14` | `10.22x` | +|| [GraphQL JIT] | `1,154.26` | `86.46` | `2.55x` | +|| [Gqlgen] | `1,127.48` | `97.28` | `2.49x` | +|| [Apollo GraphQL] | `827.02` | `121.45` | `1.82x` | +|| [Hasura] | `453.26` | `222.97` | `1.00x` | | 3 | `{ greet }` | -|| [Tailcall] | `40,346.30` | `2.50` | `25.92x` | -|| [Caliban] | `34,135.60` | `2.96` | `21.93x` | -|| [Gqlgen] | `24,843.40` | `11.12` | `15.96x` | -|| [async-graphql] | `23,390.20` | `4.30` | `15.03x` | -|| [GraphQL JIT] | `4,526.47` | `22.05` | `2.91x` | -|| [Netflix DGS] | `4,232.35` | `28.14` | `2.72x` | -|| [Apollo GraphQL] | `4,058.22` | `27.11` | `2.61x` | -|| [Hasura] | `1,556.69` | `64.02` | `1.00x` | +|| [Tailcall] | `358,722.00` | `270.90` | `234.64x` | +|| [Caliban] | `32,795.40` | `3.07` | `21.45x` | +|| [Netflix DGS] | `28,250.50` | `3.66` | `18.48x` | +|| [Gqlgen] | `24,521.10` | `8.90` | `16.04x` | +|| [async-graphql] | `23,956.10` | `4.22` | `15.67x` | +|| [GraphQL JIT] | `4,633.23` | `21.54` | `3.03x` | +|| [Apollo GraphQL] | `3,941.17` | `27.79` | `2.58x` | +|| [Hasura] | `1,528.85` | `65.59` | `1.00x` | diff --git a/assets/latency_histogram1.png b/assets/latency_histogram1.png index 4b33e5af..7d14d684 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 f8cb7a21..75651618 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 40185476..860deee6 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 e98123b5..5d0052e9 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 5bf4fe06..3520107a 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 5498b7c3..570d8bc6 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 0913032a..97809319 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] | `21,996.00` | `4.54` | `193.22x` | -|| [GraphQL JIT] | `1,081.08` | `91.89` | `9.50x` | -|| [async-graphql] | `1,001.51` | `99.12` | `8.80x` | -|| [Caliban] | `718.40` | `139.63` | `6.31x` | -|| [Gqlgen] | `396.74` | `248.54` | `3.49x` | -|| [Netflix DGS] | `188.83` | `514.79` | `1.66x` | -|| [Apollo GraphQL] | `128.30` | `711.52` | `1.13x` | -|| [Hasura] | `113.84` | `797.72` | `1.00x` | +|| [Tailcall] | `76,805.20` | `1.25` | `673.51x` | +|| [Netflix DGS] | `1,422.59` | `46.03` | `12.47x` | +|| [GraphQL JIT] | `1,122.34` | `88.58` | `9.84x` | +|| [async-graphql] | `1,000.51` | `99.34` | `8.77x` | +|| [Caliban] | `777.69` | `128.06` | `6.82x` | +|| [Gqlgen] | `398.26` | `247.47` | `3.49x` | +|| [Apollo GraphQL] | `115.11` | `778.66` | `1.01x` | +|| [Hasura] | `114.04` | `824.42` | `1.00x` | | 2 | `{ posts { title }}` | -|| [Tailcall] | `33,521.60` | `2.98` | `80.53x` | -|| [async-graphql] | `5,208.27` | `19.29` | `12.51x` | -|| [Caliban] | `4,777.52` | `21.39` | `11.48x` | -|| [Gqlgen] | `1,129.99` | `96.58` | `2.71x` | -|| [GraphQL JIT] | `1,112.37` | `89.69` | `2.67x` | -|| [Apollo GraphQL] | `886.37` | `113.13` | `2.13x` | -|| [Netflix DGS] | `811.71` | `124.26` | `1.95x` | -|| [Hasura] | `416.27` | `243.14` | `1.00x` | +|| [Tailcall] | `167,238.00` | `559.96` | `368.97x` | +|| [Netflix DGS] | `7,864.90` | `15.35` | `17.35x` | +|| [async-graphql] | `5,213.96` | `19.17` | `11.50x` | +|| [Caliban] | `4,634.00` | `22.14` | `10.22x` | +|| [GraphQL JIT] | `1,154.26` | `86.46` | `2.55x` | +|| [Gqlgen] | `1,127.48` | `97.28` | `2.49x` | +|| [Apollo GraphQL] | `827.02` | `121.45` | `1.82x` | +|| [Hasura] | `453.26` | `222.97` | `1.00x` | | 3 | `{ greet }` | -|| [Tailcall] | `40,346.30` | `2.50` | `25.92x` | -|| [Caliban] | `34,135.60` | `2.96` | `21.93x` | -|| [Gqlgen] | `24,843.40` | `11.12` | `15.96x` | -|| [async-graphql] | `23,390.20` | `4.30` | `15.03x` | -|| [GraphQL JIT] | `4,526.47` | `22.05` | `2.91x` | -|| [Netflix DGS] | `4,232.35` | `28.14` | `2.72x` | -|| [Apollo GraphQL] | `4,058.22` | `27.11` | `2.61x` | -|| [Hasura] | `1,556.69` | `64.02` | `1.00x` | +|| [Tailcall] | `358,722.00` | `270.90` | `234.64x` | +|| [Caliban] | `32,795.40` | `3.07` | `21.45x` | +|| [Netflix DGS] | `28,250.50` | `3.66` | `18.48x` | +|| [Gqlgen] | `24,521.10` | `8.90` | `16.04x` | +|| [async-graphql] | `23,956.10` | `4.22` | `15.67x` | +|| [GraphQL JIT] | `4,633.23` | `21.54` | `3.03x` | +|| [Apollo GraphQL] | `3,941.17` | `27.79` | `2.58x` | +|| [Hasura] | `1,528.85` | `65.59` | `1.00x` |