The shipping-label workload, in one paragraph
Every order produces one PDF, every PDF gets printed once on a thermal printer, and the failure mode if you’re slow is not “page loads slowly” — it’s “the warehouse pickup is queued behind your label-rendering API.” Shipping is a job where p99 latency is the product metric, where deterministic output matters because reprints are routine, and where barcode quality — measured in GS1 X-dimension tolerances, not pixels — decides whether your scanners pick up the label on the first pass.
Headless-browser-based PDF stacks struggle with all three at once: the cold-start cost compounds under spike, raster barcodes degrade on small thermal labels, and font rasterisation drifts between Chromium versions, so “byte-identical reprint” is impossible.
Why gPdf fits
A 4×6 thermal label is small (576 × 864 pixels at 203 dpi), low-element-count (text blocks + 1-2 barcodes + an optional carrier logo), and high-volume (a mid-size 3PL renders 50K-500K per day). That’s the workload gPdf is built for. The renderer:
- Compiles the layout once — page coordinates, font cascades and barcode geometry are resolved at request time, not via a browser layout engine.
- Vectorises every barcode — modules drawn directly into the PDF stream so a 30 mm-wide GS1-128 reads cleanly at 203 dpi or 600 dpi without any DPI-aware rasterisation logic on your end.
- Embeds NotoSans CJK + Latin — the same payload renders a Chinese carrier-name correctly without you provisioning fonts on a render container.
p99 is a flat 8 ms across our reference workload (1K invocations of the sample above on EU-WEST), regardless of whether a single isolate has rendered one label or 10K labels.
Volume + cost math
A typical mid-size 3PL operates around 50K labels/day = ~1.5M/month. On the Basic plan ($5/month for 100K pages, $0.00005 per page overage) that’s:
1.5M pages × $0.00005 = $75.00 in overage
+ Basic plan base = $5.00
─────────────────────────────────────
total = $80.00 / month
Same workload on Puppeteer-on-Lambda runs in the $200-400/month range at typical Lambda concurrency settings, before you account for cold-start tax during peak.
Black Friday: a worked example
Peak spike is the workload where edge rendering pays its rent most clearly. A retail customer hitting 200% of normal label volume in the first hour of Black Friday — say 100K labels in 60 minutes, 1.7K labels/minute average with 5K/minute peak bursts — completes inside a single Cloudflare Workers region pool with no cold-start tax. The same workload on a Puppeteer warm pool sized to average traffic produces 1.5-2.5 s cold-starts on the burst-spawned containers, and your warehouse pickup desk feels every one of them.
Where to look next
- The JSON Render API covers every field used in the label sample above.
- For the deeper story on barcode geometry, see the GS1-128 precision post.
- To compare against a Chromium-based stack, see gPdf vs Puppeteer.