perf: reduce vp binary size#2043
Conversation
✅ Deploy Preview for viteplus-preview canceled.
|
Native binary sizes (
|
| Artifact | Format | Base | PR | Change |
|---|---|---|---|---|
vp (Linux x64) |
Binary | 10.78 MiB | 10.27 MiB | -524.02 KiB (-4.75%) |
vp (Linux x64) |
gzip -9 | 4.68 MiB | 4.41 MiB | -280.23 KiB (-5.85%) |
| NAPI (Linux x64) | Binary | 33.57 MiB | 33.42 MiB | -156.00 KiB (-0.45%) |
| NAPI (Linux x64) | gzip -9 | 12.84 MiB | 12.77 MiB | -71.50 KiB (-0.54%) |
vp (macOS ARM64) |
Binary | 8.02 MiB | 7.61 MiB | -419.89 KiB (-5.12%) |
vp (macOS ARM64) |
gzip -9 | 4.06 MiB | 3.82 MiB | -248.43 KiB (-5.98%) |
| NAPI (macOS ARM64) | Binary | 40.92 MiB | 40.78 MiB | -145.38 KiB (-0.35%) |
| NAPI (macOS ARM64) | gzip -9 | 17.09 MiB | 17.02 MiB | -77.69 KiB (-0.44%) |
vp (Windows x64) |
Binary | 10.26 MiB | 8.32 MiB | -1.94 MiB (-18.93%) |
vp (Windows x64) |
gzip -9 | 4.67 MiB | 3.63 MiB | -1.05 MiB (-22.41%) |
| NAPI (Windows x64) | Binary | 27.99 MiB | 27.85 MiB | -141.00 KiB (-0.49%) |
| NAPI (Windows x64) | gzip -9 | 10.82 MiB | 10.76 MiB | -65.62 KiB (-0.59%) |
| Trampoline (Windows x64) | Binary | 203.00 KiB | 203.00 KiB | 0 B (0.00%) |
| Trampoline (Windows x64) | gzip -9 | 97.91 KiB | 97.91 KiB | +2 B (+0.00%) |
87be261 to
49eecdc
Compare
49eecdc to
ad948a7
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ad948a7d08
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
1707b7a to
02119e3
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. Swish! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
62b6e2a to
dcb3b88
Compare
|
@codex review |
dcb3b88 to
e7e97b0
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dcb3b88c83
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Registry bridge build (
|
| Package | Version |
|---|---|
vite-plus |
0.0.0-commit.34bf502f587cb98036ac8cdf072783aa813c0dc9 |
@voidzero-dev/vite-plus-core |
0.0.0-commit.34bf502f587cb98036ac8cdf072783aa813c0dc9 |
Install the Vite+ CLI built from this commit, then migrate a project:
# macOS / Linux
curl -fsSL https://vite.plus | VP_PR_VERSION=2043 bash# Windows (PowerShell)
$env:VP_PR_VERSION="2043"; irm https://vite.plus/ps1 | iexAfter installing, upgrade the current project's vite-plus to this test build with:
vp migrateOr point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:
| Package manager | Registry config |
|---|---|
| npm / pnpm / Bun | .npmrc: registry=https://registry-bridge.viteplus.dev/ |
| Yarn (v2+) | .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/" |
Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):
{
"devDependencies": {
"vite-plus": "0.0.0-commit.34bf502f587cb98036ac8cdf072783aa813c0dc9",
"vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.34bf502f587cb98036ac8cdf072783aa813c0dc9"
}
}
🐳 Docker preview imageBuilt from this PR's registry bridge build:
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-2043 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2043Quick check: docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2043 vp --versionSee docs/guide/docker.md for usage. |
Summary
tracing-subscriber,zip, andvite_errorvp, NAPI, and trampoline sizes in a sticky PR commentFinal results
vp(Linux x64)vp(macOS ARM64)vp(Windows x64)Windows size difference
The old
vite_errordependency pulled bundled SQLite into the MSVC executables, while Unix linkers discarded most unused SQLite code. Disablingzipdefaults also removes BZip2, Deflate64, LZMA, and PPMd; Node archives only require Deflate.vp-setup.exeshows the same 2.02 MB drop asvp.exe, while NAPI drops 0.14 MB because task dependencies still use SQLite and NAPI does not include the ZIP extractor.The workflow uses
build-upstream,build-windows-cli, andcompute-native-cache-input-hash. Linux and Windows cross-compilation run onnamespace-profile-linux-x64-default; macOS runs onnamespace-profile-mac-default.