{
 "schemaVersion": 4,
 "id": "all",
 "name": "posthoglil",
 "package": "posthog-js · seven submodules",
 "title": "All seven submodules",
 "tab": "All seven",
 "description": "Totals of the seven submodules, each measured on its own. For each codec, a module’s original is its smallest upstream build (PostHog’s build, esbuild or Oxc); the LilScript side is the build compiled for that codec.",
 "upstreamPath": "packages/{core,browser-common}/src/…",
 "portPath": "src/posthog/…",
 "measuredAt": "2026-10-04T09:15:56.821Z",
 "compiler": {
  "revision": "d8f79ed5",
  "binarySha256": "68b5d4776ebc3a2ac67b8945846256126285bc7f09f4b2024b40b4aa79dd9d88"
 },
 "upstream": {
  "package": "posthog-js",
  "version": "1.435.8",
  "commit": "c9d890a4",
  "external": [],
  "sharedExports": [],
  "excludedExports": []
 },
 "scope": "Seven submodules of posthog-js, each bundled from its TypeScript with everything it imports and compared on its own; the totals add them.",
 "machine": {
  "cpu": "AMD EPYC 7763 64-Core Processor",
  "logicalCpus": 8,
  "memoryGiB": 15.6,
  "os": "Linux 7.0.0-1014-azure",
  "node": "v20.19.0"
 },
 "objectives": [
  {
   "objective": "raw",
   "metric": "raw",
   "lilscript": {
    "artifact": "./evidence.json",
    "sizes": {
     "raw": 43673,
     "gzip9": 19345,
     "brotli11": 17426
    },
    "buildSeconds": 8.05
   },
   "original": {
    "tool": "smallest upstream per module",
    "version": "",
    "artifact": "./evidence.json",
    "sizes": {
     "raw": 46660,
     "gzip9": 19161,
     "brotli11": 17348
    },
    "buildSeconds": 0.712
   },
   "ratio": 0.9359837119588512
  },
  {
   "objective": "gzip",
   "metric": "gzip9",
   "lilscript": {
    "artifact": "./evidence.json",
    "sizes": {
     "raw": 45101,
     "gzip9": 18734,
     "brotli11": 16990
    },
    "buildSeconds": 12.95
   },
   "original": {
    "tool": "smallest upstream per module",
    "version": "",
    "artifact": "./evidence.json",
    "sizes": {
     "raw": 46987,
     "gzip9": 19045,
     "brotli11": 17234
    },
    "buildSeconds": 0.87
   },
   "ratio": 0.9836702546600158
  },
  {
   "objective": "brotli",
   "metric": "brotli11",
   "lilscript": {
    "artifact": "./evidence.json",
    "sizes": {
     "raw": 45258,
     "gzip9": 18872,
     "brotli11": 16953
    },
    "buildSeconds": 26.5
   },
   "original": {
    "tool": "smallest upstream per module",
    "version": "",
    "artifact": "./evidence.json",
    "sizes": {
     "raw": 46987,
     "gzip9": 19045,
     "brotli11": 17234
    },
    "buildSeconds": 0.87
   },
   "ratio": 0.9836950214691889
  }
 ],
 "minifiers": [
  {
   "tool": "PostHog’s build",
   "version": "Rolldown 1.2.12 + Terser 5.51.2",
   "artifact": "./evidence.json",
   "sizes": {
    "raw": 46987,
    "gzip9": 19045,
    "brotli11": 17234
   },
   "buildSeconds": 0.87
  },
  {
   "tool": "esbuild",
   "version": "0.28.2",
   "artifact": "./evidence.json",
   "sizes": {
    "raw": 67055,
    "gzip9": 28452,
    "brotli11": 25707
   },
   "buildSeconds": 0.151
  },
  {
   "tool": "Oxc (Rolldown)",
   "version": "Rolldown 1.2.12",
   "artifact": "./evidence.json",
   "sizes": {
    "raw": 50234,
    "gzip9": 19991,
    "brotli11": 18040
   },
   "buildSeconds": 0.058
  }
 ],
 "validation": {
  "checks": 1076,
  "gated": 1076,
  "neither": 38,
  "files": 21
 },
 "speed": [
  {
   "module": "Exception capture",
   "name": "import",
   "label": "Import",
   "description": "dynamic import from a fresh Blob URL: parse, compile, evaluate",
   "posthogMs": 1.5650000125169754,
   "lilMs": 1.7650000154972076,
   "improvementPercent": -11.869549508305377,
   "ci": [
    -16.854610908662302,
    -8.511969931315255
   ],
   "verdict": "slower"
  },
  {
   "module": "Exception capture",
   "name": "build-properties",
   "label": "build-properties",
   "description": "29 inputs through the properties builder: real Chromium errors with causes, an AggregateError, a DOMException, error and rejection events, strings, objects",
   "posthogMs": 2.635000005364418,
   "lilMs": 2.6475000083446503,
   "improvementPercent": -0.4761911573864075,
   "ci": [
    -1.50098645413288,
    0.4734855166889207
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "Exception capture",
   "name": "parse-stacks",
   "label": "parse-stacks",
   "description": "11 Chrome, Firefox and Safari stack strings through the parser",
   "posthogMs": 1.7137499898672104,
   "lilMs": 1.7575000002980232,
   "improvementPercent": -2.467391006031594,
   "ci": [
    -3.537107896332148,
    -1.8729259249290031
   ],
   "verdict": "slower"
  },
  {
   "module": "Exception capture",
   "name": "exception-steps",
   "label": "exception-steps",
   "description": "150 exception steps into the 32 KB buffer",
   "posthogMs": 0.9549999833106995,
   "lilMs": 0.9150000214576721,
   "improvementPercent": 4.724442183472,
   "ci": [
    3.456129811170927,
    5.909573404483526
   ],
   "verdict": "faster"
  },
  {
   "module": "Browser, OS and device detection",
   "name": "import",
   "label": "Import",
   "description": "dynamic import from a fresh Blob URL: parse, compile, evaluate",
   "posthogMs": 1.280000001192093,
   "lilMs": 1.2450000047683716,
   "improvementPercent": 4.173913776393118,
   "ci": [
    -0.17845206350406428,
    6.600740467895994
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "Browser, OS and device detection",
   "name": "corpus",
   "label": "corpus",
   "description": "OS, browser, device, device type and version for the 606 user agents in posthog-js’s tests",
   "posthogMs": 4.030000001192093,
   "lilMs": 3.592500001192093,
   "improvementPercent": 11.290340282144223,
   "ci": [
    9.985281187973754,
    12.509339926848916
   ],
   "verdict": "faster"
  },
  {
   "module": "Browser, OS and device detection",
   "name": "traffic-mix",
   "label": "traffic-mix",
   "description": "the same per-event sequence for 200 events from a modern browser mix",
   "posthogMs": 0.9208333343267441,
   "lilMs": 0.7816666662693024,
   "improvementPercent": 15.405405715982322,
   "ci": [
    14.556845792599578,
    15.718170104463518
   ],
   "verdict": "faster"
  },
  {
   "module": "Autocapture DOM utilities",
   "name": "import",
   "label": "Import",
   "description": "dynamic import from a fresh Blob URL: parse, compile, evaluate",
   "posthogMs": 1.5399999916553497,
   "lilMs": 1.5600000023841858,
   "improvementPercent": -4.499296163390742,
   "ci": [
    -7.777460758204768,
    0.853242522165043
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "Autocapture DOM utilities",
   "name": "click-pipeline",
   "label": "click-pipeline",
   "description": "43 clicks on a realistic app page through posthog-js’s autocapture flow, with the dead-click and rage-click checks",
   "posthogMs": 11.824999988079071,
   "lilMs": 11.685000002384186,
   "improvementPercent": 1.1109078140263073,
   "ci": [
    0.04177105457081609,
    2.7043994556978648
   ],
   "verdict": "faster"
  },
  {
   "module": "Autocapture DOM utilities",
   "name": "text-scrub",
   "label": "text-scrub",
   "description": "scrubbing page text, attributes and 12 network bodies",
   "posthogMs": 0.5374999940395355,
   "lilMs": 0.5400000065565109,
   "improvementPercent": -0.47620080801505926,
   "ci": [
    -2.9841268657286313,
    2.3152606266383433
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "Feature flag responses",
   "name": "import",
   "label": "Import",
   "description": "dynamic import from a fresh Blob URL: parse, compile, evaluate",
   "posthogMs": 1.0975000262260437,
   "lilMs": 1.1274999976158142,
   "improvementPercent": -3.2558150430703092,
   "ci": [
    -9.921790590057055,
    4.0243551500550145
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "Feature flag responses",
   "name": "flags-v2-reads",
   "label": "flags-v2-reads",
   "description": "a 64-flag /flags response handled as the client does: normalize, values, payloads, reads, overrides, the flag-called event",
   "posthogMs": 0.5212500020861626,
   "lilMs": 0.5318749994039536,
   "improvementPercent": -1.4152912059095968,
   "ci": [
    -2.4934909405749273,
    -0.48199721670830753
   ],
   "verdict": "slower"
  },
  {
   "module": "Feature flag responses",
   "name": "flags-v1-storage",
   "label": "flags-v1-storage",
   "description": "rebuilding stored flags in the older format",
   "posthogMs": 0.171875,
   "lilMs": 0.15312499925494194,
   "improvementPercent": 11.573578250804108,
   "ci": [
    7.833817209912352,
    12.431485856801078
   ],
   "verdict": "faster"
  },
  {
   "module": "Metrics client",
   "name": "import",
   "label": "Import",
   "description": "dynamic import from a fresh Blob URL: parse, compile, evaluate",
   "posthogMs": 1.344999998807907,
   "lilMs": 1.5250000059604645,
   "improvementPercent": -16.555914249134517,
   "ci": [
    -21.216993320080846,
    -7.487286172884678
   ],
   "verdict": "slower"
  },
  {
   "module": "Metrics client",
   "name": "record-drain",
   "label": "record-drain",
   "description": "1,000 samples (histograms, counters, gauges), then drainWindow()",
   "posthogMs": 1.6137499958276749,
   "lilMs": 1.6000000014901161,
   "improvementPercent": 0.7843148584138981,
   "ci": [
    -0.31130656146879376,
    5.244652626951913
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "Metrics client",
   "name": "record-flush",
   "label": "record-flush",
   "description": "200 samples, then await flush()",
   "posthogMs": 0.5456250011920929,
   "lilMs": 0.48249999806284904,
   "improvementPercent": 11.004646627768883,
   "ci": [
    8.273133678188877,
    13.377833647651277
   ],
   "verdict": "faster"
  },
  {
   "module": "UUIDv7 ids",
   "name": "import",
   "label": "Import",
   "description": "dynamic import from a fresh Blob URL: parse, compile, evaluate",
   "posthogMs": 1.2025000005960464,
   "lilMs": 1.2124999910593033,
   "improvementPercent": 3.055557444516377,
   "ci": [
    -2.9841268657286313,
    6.027889521752606
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "UUIDv7 ids",
   "name": "generate",
   "label": "generate",
   "description": "1,000 uuidv7() calls",
   "posthogMs": 0.7818749994039536,
   "lilMs": 0.786250002682209,
   "improvementPercent": -0.9719322158319721,
   "ci": [
    -1.9186724974758818,
    0.24001088491886757
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "UUIDv7 ids",
   "name": "timestamp",
   "label": "timestamp",
   "description": "1,000 uuid7ToTimestampMs() calls",
   "posthogMs": 0.270625002682209,
   "lilMs": 0.2737499997019768,
   "improvementPercent": -0.9593710705056768,
   "ci": [
    -2.803983358211526,
    1.376608956395975
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "Request compression",
   "name": "import",
   "label": "Import",
   "description": "dynamic import from a fresh Blob URL: parse, compile, evaluate",
   "posthogMs": 1.1024999916553497,
   "lilMs": 1.1099999994039536,
   "improvementPercent": -1.7726382888267334,
   "ci": [
    -9.772609960318835,
    2.4509838725318422
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "Request compression",
   "name": "event-batch",
   "label": "event-batch",
   "description": "a 30-event batch (61 KB)",
   "posthogMs": 2.4137500002980232,
   "lilMs": 2.4124999940395355,
   "improvementPercent": -0.1567396625506423,
   "ci": [
    -1.3455574901019673,
    1.7476088801152756
   ],
   "verdict": "no clear difference"
  },
  {
   "module": "Request compression",
   "name": "replay-snapshot",
   "label": "replay-snapshot",
   "description": "a 563 KB replay snapshot",
   "posthogMs": 14.259999990463257,
   "lilMs": 14.23250000178814,
   "improvementPercent": 0.06996070238526331,
   "ci": [
    -0.3525342311803792,
    0.5793739369233941
   ],
   "verdict": "no clear difference"
  }
 ],
 "wins": 21,
 "cells": 21,
 "linksBase": "./modules/all/"
}
