GraphQL Client Benchmarks

A benchmarking suite for GraphQL clients, with focus on their cache implementations.

If you'd like to run them in a browser, there is a built copy hosted at: https://convoyinc.github.io/graphql-client-benchmarks/

If you want to run them in node, it is also available as a node module that exposes a bin script that executes the CLI runner.

npm install -g graphql-client-benchmarks
graphql-client-benchmarks

Contributing & Advanced Use

For any other case, you'll want to check out the repository, or depend on the package directly.

These approaches are mostly undocumented and lightly supported—expect to roll up your sleeves!

Examples

The benchmarking suite is set up to support many example queries and responses. If you have some you'd like to add to the suite, you can add them to the examples folder, following the same structure. They'll automatically be pulled into the benchmarking suite.

Environments

The benchmarks are designed to be run in three different ways:

web: The web reporter provides a UI for running the baked in examples, as well as an editor to enter your own. It can be run locally via yarn dev or yarn compile.

cli: The CLI reporter provides a UI for running the baked in examples on a terminal. It can be

api: The benchmark suite and runner is also exposed via an API that you can use to run the examples, or provide your own. The primary entry point is runSuite. Take a look at the web or cli reporters for an idea of how to run it, and you'll probably want to leverage the console reporter to get started.