Description
I played around with benchmarking at https://github.com/klausi/graphql_bench (see result timings in README)
The good news: GraphQL module is as fast/slow as JSON:API module in an uncached scenario.
The bad news: JSON:API is able to leverage page caching (GET requests) and even Drupal's dynamic page cache. That way it can outperform GraphQL which relies on POST requests.
Can we somehow build a similar page cache when a query does not contain a mutation?
Out of curiosity I also built a primitive Rust GraphQL server against Drupal's database and ... it delivers in 0.5ms :-O . Of course that can be considered heavy cheating since it completely bypasses Drupal's access controls. Still worth a look for people that want to offload the hottest GraphQL queries on a dedicated Rust endpoint with raw queries.