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.