Uh oh!
There was an error while loading. Please reload this page.
v4.0.0 - #1482
Conversation
commit: |
CLI benchmark
Full report
|
| Setting | Value |
|---|---|
| Baseline | ref:fb86ed4b60b43603c76f6b18ff976b5440a29dbe (v3.37.0) |
| Head | local packages/nuxt-cli at b736794 (v4.0.0) |
| Node | v24.19.0 |
| OS | Linux 6.17.0 (kernel 6.17.0-1022-azure) |
| CPU | AMD EPYC 7763 64-Core Processor x 4 |
| Memory | 15.6 GB |
| Load average at start | 1.40, 0.44, 0.15 |
| Run started | 2026-08-24T07:46:08.010Z |
Cold CLI startup
Median of 15 interleaved runs per command, one warmup discarded.
| Command | baseline v3.37.0 median | head v4.0.0 median | Delta | baseline v3.37.0 min / p95 | head v4.0.0 min / p95 |
|---|---|---|---|---|---|
nuxt --version | 66 ms | 63 ms | -4.9% | 62 ms / 69 ms | 61 ms / 66 ms |
nuxt --version (first output byte) | 62 ms | 59 ms | -5.2% | 58 ms / 65 ms | 57 ms / 62 ms |
nuxt --help | 137 ms | 137 ms | -0.4% | 132 ms / 139 ms | 133 ms / 139 ms |
nuxt --help (first output byte) | 133 ms | 132 ms | -0.4% | 127 ms / 134 ms | 128 ms / 133 ms |
nuxt dev --help | 103 ms | 102 ms | -0.9% | 101 ms / 107 ms | 100 ms / 107 ms |
nuxt dev --help (first output byte) | 99 ms | 97 ms | -1.2% | 96 ms / 102 ms | 96 ms / 102 ms |
nuxt <unknown-command> (no-op) | 147 ms | 146 ms | -0.3% | 144 ms / 150 ms | 142 ms / 148 ms |
nuxt <unknown-command> (no-op) (first output byte) | 142 ms | 141 ms | -0.6% | 139 ms / 145 ms | 137 ms / 143 ms |
Module load cost
Counted with a module.registerHooks load hook, compile cache disabled. Counts every JS module actually evaluated on that code path (built-ins excluded, native addons excluded).
| Command | baseline v3.37.0 modules | head v4.0.0 modules | Delta | baseline v3.37.0 source bytes | head v4.0.0 source bytes | Delta |
|---|---|---|---|---|---|---|
nuxt --version | 38 | 38 | 0.0% | 291.7 kB | 291.7 kB | -0.0% |
nuxt --help | 135 | 135 | 0.0% | 976.8 kB | 976.8 kB | -0.0% |
nuxt dev --help | 80 | 80 | 0.0% | 586.0 kB | 586.0 kB | -0.0% |
Install footprint and published tarball
Each version installed on its own into an empty project with nothing but @nuxt/cli as a dependency, so the tree is exactly the CLI and its transitive dependencies. npm cache is warm and the registry is only consulted for metadata, so install wall time is indicative, not a network benchmark.
| Metric | baseline v3.37.0 | head v4.0.0 | Delta |
|---|---|---|---|
Direct dependencies of @nuxt/cli | 21 | 21 | 0.0% |
| Packages in the installed tree (unique name@version) | 34 | 34 | 0.0% |
| Unique package names | 34 | 34 | 0.0% |
| Package directories on disk (cross-check) | 28 | 28 | 0.0% |
Installed node_modules on disk | 2.32 MB | 2.32 MB | -0.0% |
| Installed files | 419 | 419 | 0.0% |
| Install wall time (warm npm cache, median of 3) | 690 ms | 689 ms | -0.1% |
| Published tarball (packed) | 264.7 kB | 264.7 kB | 0.0% |
| Published tarball (unpacked) | 921.5 kB | 921.5 kB | -0.0% |
| Files in tarball | 131 | 131 | 0.0% |
Interleaved runs on a shared runner: trust the deltas, not the absolute timings. The dev, restart and build suites run locally via pnpm bench:cli.
🎉 Highlights
Nuxt CLI v4 is a performance, feature and DX-focused release.
Watch this space to keep up-to-date on what's coming! 🔥
Breaking changes
We're taking the opportunity to adopt the following breaking changes:
@nuxt/bridge(as Nuxt 2 has been EOL for some time now).Performance
We're working to reduce the dependency count and total install size. You can track the current progress here.
👉 Changelog
compare changes
🩹 Fixes
14c16bf)354d42b)39420c9)3904632)❤️ Contributors