# in-process timing, openjdk version "25.0.5" 2026-10-20 LTS | 2 vCPU | 8027 MB RAM
# indicative: shared sandbox, one JVM, one run per line
# n=500 invoices per engine after 100 warm-up, one JVM, engines run one after another
# OpenJDK 64-Bit Server VM 25.0.5 | 2 vCPU
engine                       first_ms    mean_ms     p95_ms    total_s  pdf_bytes
openpdf                         377.0       7.93      18.89       3.96      20034
itext                           330.9      15.88      36.38       7.94      23338
flyingsaucer                   1163.4      28.05      57.66      14.02      20008
openpdf-jdk-actualtext          423.5      42.89     107.47      21.45      22281
flyingsaucer-shaped             107.5      49.99      93.45      24.99      21537
# subset=false (whole font embedded), same invoice, one render each
openpdf                    subset=20025 bytes, whole font=186300 bytes
itext                      subset=23330 bytes, whole font=200149 bytes
flyingsaucer               subset=19996 bytes, whole font=186308 bytes
openpdf-jdk-actualtext     subset=22268 bytes, whole font=187399 bytes
flyingsaucer-shaped        subset=21525 bytes, whole font=186691 bytes
