Skip to content

Commit 4d80c91

Browse files
authored
ci(benchmark): refresh binary-size baseline after v0.5.455 → v0.5.1021 release cycle (#1300)
Regression Check `binary-size` failed on v0.5.1021 against the old v0.5.455 baseline (`7fd1c8b3`): perry 15,537,232 → 19,054,064 bytes (+22.6%) libperry_runtime 31,717,320 → 42,489,880 bytes (+34.0%) libperry_stdlib 211,805,880 → 225,526,744 bytes (+6.5%, within threshold) Same shape as the v0.5.455 refresh from `7fd1c8b3`: the 15% per-release threshold is meant for incremental drift checking, not multi-release catch-up gates. 566 patches of intentional product delta (new GC paths, node:buffer parity, AsyncLocalStorage hooks, granular parity suites, host-embed staticlib + linkdeps sidecar, etc.) accumulated to ~22% perry / ~34% runtime growth. Production binaries are stripped by the linker; these .a / .bin sizes are unstripped release-build artefacts used as a regression-trend signal, not a deployment-size measurement. Refreshes `benchmarks/binary-size-baseline.json` to the v0.5.1021 measurement (`f7aaed1a` from the Regression Check macos-14 runner) and updates the `_note` field with the rebaseline rationale. The 15% fail-threshold + 5% warn-threshold both stay — they still catch incremental drift in the next release cycle.
1 parent f7aaed1 commit 4d80c91

5 files changed

Lines changed: 103 additions & 78 deletions

File tree

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,31 @@
22

33
Detailed changelog for Perry. See CLAUDE.md for concise summaries.
44

5+
## v0.5.1022 — ci(benchmark): refresh binary-size baseline after v0.5.455 → v0.5.1021 release cycle
6+
7+
Regression Check `binary-size` job failed on v0.5.1021 against the old
8+
v0.5.455 (`7fd1c8b3`) baseline:
9+
10+
- perry: +22.6% (15,537,232 → 19,054,064 bytes)
11+
- libperry_runtime: +34.0% (31,717,320 → 42,489,880 bytes)
12+
- libperry_stdlib: +6.5% (within threshold, not flagged)
13+
14+
Same shape as the v0.5.455 refresh: the 15% per-release threshold is for
15+
incremental drift checking, not multi-release catch-up gates. 566 patch
16+
versions of runtime + stdlib + CLI work (new GC paths, node:buffer
17+
parity, AsyncLocalStorage hooks, granular parity suites, …) accumulated
18+
to ~22% perry / ~34% runtime growth — all of it intentional product
19+
delta, not unexpected bloat. Production binaries are stripped by the
20+
linker; the .a / .bin sizes the job checks are unstripped release-build
21+
artefacts used as a regression-trend signal, not a deployment-size
22+
measurement.
23+
24+
Refreshes `benchmarks/binary-size-baseline.json` to the v0.5.1021
25+
measurement (`f7aaed1a` from the Regression Check macos-14 runner) and
26+
updates the `_note` field with the rebaseline rationale. The 15%
27+
fail-threshold + 5% warn-threshold both stay — they still catch
28+
incremental drift in the next release cycle.
29+
530
## v0.5.1021 — fix(perry-ui-gtk4): #1246 follow-up, restore image.rs resolve_asset_path access
631

732
PR #1246 ("Drop all files to <2k LOC + tighten size gate") split

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
88

99
Perry is a native TypeScript compiler written in Rust that compiles TypeScript source code directly to native executables. It uses SWC for TypeScript parsing and LLVM for code generation.
1010

11-
**Current Version:** 0.5.1021
11+
**Current Version:** 0.5.1022
1212

1313

1414
## TypeScript Parity Status

0 commit comments

Comments
 (0)