Skip to content

perf: reduce release executable size by 65.8% - #3

Merged
keiko233 merged 1 commit into
mainfrom
perf/reduce-release-size
Oct 21, 2026
Merged

keiko233 merged 1 commit into
mainfrom
perf/reduce-release-size

Conversation

@keiko233

Copy link
Copy Markdown
Member

Reduce the uncompressed Windows x64 release executable from 3,802,624 bytes (3.63 MiB) to 1,302,016 bytes (1.24 MiB), a 65.8% reduction, with all six languages and existing GUI/CLI functionality retained.

Use size optimization, full LTO, one codegen unit, symbol stripping, and abort-on-panic in the release profile. Rebuild the standard library with size optimization in the x64/ARM64 release workflow, include rust-src, and document reproducible commands and measurements. Plain cargo build --release produces a 1.38 MiB x64 EXE. This trades build time and panic unwinding/debug information for size.

Validation:

  • All 52 tests pass in both development and release profiles; Clippy and formatting checks pass.
  • Smallest x64 EXE passes GUI checks for loading 136 AppContainers, checkbox edits, counters, refresh/cancellation, and close confirmation/cancellation. Firewall exemptions remain unchanged.
  • Native selection/sort checks were omitted from an adapted smoke script because the original baseline also fails the existing script's stale header and UIA assumptions; application tests cover selection and sorting.
  • ARM64 reached final linking but could not complete locally because ARM64 MSVC tools are unavailable. ARM64 size/runtime behavior remains unverified.

Copilot AI balanced review requested due to automatic review settings October 21, 2026 01:28
@semanticdiff-com

semanticdiff-com Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review changes with  SemanticDiff

Changed Files
File Status
  .github/workflows/release.yml  0% smaller
  Cargo.toml Unsupported file format
  README.md Unsupported file format
  docs/release-size.md Unsupported file format
  rust-toolchain.toml Unsupported file format

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@keiko233
keiko233 merged commit 71f9cf3 into main Oct 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants