RTP Benchmark: GraphQL vs REST vs Go/HTMX

High load (1200 rps) — watch the stacks diverge under pressure · Read the full analysis

read-one

Target: 1200 rps · 18000 requests · 76.2% success · 15s duration

p50 Latency

33582 25187 16791 8396 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

p95 Latency

34501 25876 17251 8625 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

Throughput

1870 1402 935 467 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

Success Rate

115 86 57 29 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

CPU %

612 459 306 153 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

Memory (RSS)

857 643 429 214 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX
StackRateSuccessp50p95 MaxThroughputCPURSS
Node/GraphQL 120076.2% 13.8s30.0s30.0s 305 rps 121%820 MB
Node/REST 96545.8% 1.8s29.4s30.0s 200 rps 38%294 MB
Go/HTMX 1191100.0% 9.1s9.9s9.9s 741 rps 374%501 MB

read-many

Target: 20 rps · 300 requests · 100.0% success · 15s duration

p50 Latency

24 18 12 6 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

p95 Latency

27 20 13 7 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

Throughput

24 18 12 6 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

Success Rate

115 86 57 29 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

CPU %

23 17 11 6 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

Memory (RSS)

1096 822 548 274 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX
StackRateSuccessp50p95 MaxThroughputCPURSS
Node/GraphQL 20100.0% 6.9ms8.1ms9.8ms 20 rps 13%953 MB
Node/REST 20100.0% 3.8ms4.7ms10.9ms 20 rps 7%405 MB
Go/HTMX 20100.0% 20.7ms23.1ms25.2ms 20 rps 16%96 MB

read-small

Target: 1166 rps · 17545 requests · 49.0% success · 15s duration

p50 Latency

17408 13056 8704 4352 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

p95 Latency

29637 22228 14819 7409 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

Throughput

2642 1981 1321 660 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

Success Rate

115 86 57 29 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

CPU %

376 282 188 94 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX

Memory (RSS)

1097 822 548 274 0 0s 3s 6s 9s 12s 15s
Node/GraphQL
Node/REST
Go/HTMX
StackRateSuccessp50p95 MaxThroughputCPURSS
Node/GraphQL 116649.0% 470.6ms15.5s28.1s 270 rps 38%953 MB
Node/REST 1200100.0% 1.3ms4.3ms92.1ms 1200 rps 90%367 MB
Go/HTMX 1200100.0% 2.8ms5.6ms14.8ms 1200 rps 312%94 MB