Documentation
Benchmarks
Reproduce the documented Katagami and Gotenberg API comparison.
Katagami versus Gotenberg
This benchmark measures a small, steady-state invoice workload. It does not measure cold start, template publication, image size, memory use, or every document type.
- Katagami renders JSON against a pre-published Typst template already loaded in its registry.
- Gotenberg receives equivalent HTML as multipart input for each request through its Chromium HTML conversion endpoint.
This is a product comparison. It includes Katagami’s stored-template API advantage. It is not a renderer-only or universal speed claim. Gotenberg supports a broader conversion surface, including HTML, URLs, Markdown, and office documents.
Environment
| Setting | Value |
|---|---|
| Host | ARM64 Docker host, 8 CPUs, 8 GiB Docker memory available |
| Renderer cap | 2 CPU, 2 GiB per renderer container |
| Load generator | ApacheBench (ab) |
| Warm-up | 10 sequential requests per endpoint |
| Measurement | 100 requests at concurrency 4 |
| Gotenberg image | gotenberg/gotenberg:8 |
Results
| Trial | Katagami | Gotenberg |
|---|---|---|
| 1 | 2,151.19 req/s, 1.859 ms mean | 13.67 req/s, 292.546 ms mean |
| 2 | 1,440.32 req/s, 2.777 ms mean | 9.98 req/s, 400.957 ms mean |
Both trials completed 100 requests with zero failures for both services.
Reproduce
REQUESTS=100 CONCURRENCY=4 CPUS=2 MEMORY=2g \
bash scripts/benchmark-gotenberg.sh
Repeat this benchmark on the intended hardware with representative single-page, multi-page, image-heavy, and concurrent document workloads before making an external performance claim.