{
  "environment": {
    "bun": "1.4.2",
    "platform": "darwin",
    "architecture": "arm64",
    "date": "2026-11-01",
    "cpu": "Apple M4 Pro",
    "os": "darwin 27.2.0",
    "runs": 30,
    "warmups": 3
  },
  "engines": [
    {
      "name": "minkpdf",
      "bytes": 35919,
      "gzipBytes": 15254,
      "importMs": 2.06
    },
    {
      "name": "pdfmake 0.3.13",
      "bytes": 832484,
      "gzipBytes": 296651,
      "importMs": 34.597
    }
  ],
  "results": [
    {
      "scenario": "short document",
      "engine": "minkpdf",
      "firstMs": 9.616,
      "medianMs": 0.238,
      "p95Ms": 1.022,
      "pdfBytes": 7420,
      "pages": 1
    },
    {
      "scenario": "short document",
      "engine": "pdfmake 0.3.13",
      "firstMs": 28.434,
      "medianMs": 9.668,
      "p95Ms": 12.03,
      "pdfBytes": 8176,
      "pages": 1
    },
    {
      "scenario": "100-row report",
      "engine": "minkpdf",
      "firstMs": 14.955,
      "medianMs": 2.291,
      "p95Ms": 3.363,
      "pdfBytes": 20094,
      "pages": 4
    },
    {
      "scenario": "100-row report",
      "engine": "pdfmake 0.3.13",
      "firstMs": 36.603,
      "medianMs": 26.342,
      "p95Ms": 28.478,
      "pdfBytes": 28349,
      "pages": 4
    },
    {
      "scenario": "1,000-row report",
      "engine": "minkpdf",
      "firstMs": 24.825,
      "medianMs": 19.871,
      "p95Ms": 21.047,
      "pdfBytes": 73938,
      "pages": 33
    },
    {
      "scenario": "1,000-row report",
      "engine": "pdfmake 0.3.13",
      "firstMs": 133.324,
      "medianMs": 137.349,
      "p95Ms": 141.254,
      "pdfBytes": 150051,
      "pages": 34
    },
    {
      "scenario": "nested voucher",
      "engine": "minkpdf",
      "firstMs": 4.997,
      "medianMs": 0.461,
      "p95Ms": 0.633,
      "pdfBytes": 12188,
      "pages": 1
    },
    {
      "scenario": "nested voucher",
      "engine": "pdfmake 0.3.13",
      "firstMs": 16.55,
      "medianMs": 12.993,
      "p95Ms": 14.804,
      "pdfBytes": 13718,
      "pages": 1
    },
    {
      "scenario": "invoice overlay",
      "engine": "minkpdf",
      "firstMs": 3.634,
      "medianMs": 0.279,
      "p95Ms": 0.474,
      "pdfBytes": 7799,
      "pages": 1
    },
    {
      "scenario": "invoice overlay",
      "engine": "pdfmake 0.3.13",
      "firstMs": 10.047,
      "medianMs": 9.219,
      "p95Ms": 11.151,
      "pdfBytes": 8536,
      "pages": 1
    },
    {
      "scenario": "ERP registration form",
      "engine": "minkpdf",
      "firstMs": 4.351,
      "medianMs": 0.59,
      "p95Ms": 0.892,
      "pdfBytes": 12969,
      "pages": 1
    },
    {
      "scenario": "ERP registration form",
      "engine": "pdfmake 0.3.13",
      "firstMs": 14.032,
      "medianMs": 12.612,
      "p95Ms": 14.863,
      "pdfBytes": 14717,
      "pages": 1
    }
  ],
  "methodology": {
    "comparatorOrder": [
      "minkpdf",
      "pdfmake 0.3.13"
    ],
    "engineBundleEntry": "default API wrapper around src/index.js (minified browser bundle; fonts excluded)",
    "fontCaching": "MinkPDF parsed fonts are reset per scenario and reused across renders; pdfmake creates a fresh font cache for each PDF.",
    "validation": "Browser bundle render smoke test; Poppler checks representative text and reports page counts, not visual equivalence."
  }
}
