Skip to content

perf(hooks): skip unused JS hook register calls with a shared hook usage buffer#13612

Draft
SyMind wants to merge 10 commits intomainfrom
perf-hooks-register-schedule
Draft

perf(hooks): skip unused JS hook register calls with a shared hook usage buffer#13612
SyMind wants to merge 10 commits intomainfrom
perf-hooks-register-schedule

Conversation

@SyMind
Copy link
Copy Markdown
Member

@SyMind SyMind commented Apr 3, 2026

Summary

This PR optimizes JS hook dispatch by introducing a shared hook usage buffer between JS and Rust.

  • add a shared hookUsageBuffer to binding.JsCompiler so Rust can check whether a JS hook has any taps before calling registerXXXTaps
  • manage hook usage by lifecycle:
    • compiler-scoped hook bits persist for the lifetime of the compiler
    • compilation-scoped hook bits are reset before each new compilation/rebuild
  • add JsHookUsageTracker on the JS side and track hook usage by patching lite-tapable _tap, intercept(), and HookMap factory hooks
  • store compiler-to-tracker associations in a WeakMap instead of exposing internal getter APIs
  • remove the legacy non_skippable_registers flow entirely
  • make hook_usage_buffer a required binding parameter

Related links

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

Copilot AI review requested due to automatic review settings April 3, 2026 14:59
@SyMind SyMind requested a review from hardfist as a code owner April 3, 2026 14:59
@github-actions github-actions bot added team The issue/pr is created by the member of Rspack. release: performance release: performance related release(mr only) labels Apr 3, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8354e20148

ℹ️ 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".

Comment thread crates/rspack_binding_api/src/plugins/interceptor.rs Outdated
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Apr 3, 2026

Merging this PR will not alter performance

✅ 28 untouched benchmarks


Comparing perf-hooks-register-schedule (b450e81) with main (6287368)

Open in CodSpeed

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 3, 2026

Rsdoctor Bundle Diff Analysis

Found 6 projects in monorepo, 0 projects with changes.

📊 Quick Summary
Project Total Size Change
popular-libs 1.7 MB 0
react-10k 5.7 MB 0
react-1k 826.2 KB 0
react-5k 2.7 MB 0
rome 984.1 KB 0
ui-components 5.0 MB 0

Generated by Rsdoctor GitHub Action

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a cross-language “hook usage” tracking mechanism so the Rust hook adapter can skip calling into JS to register taps for hooks that were never used (tapped/intercepted), reducing overhead in common builds.

Changes:

  • Add a JsHookUsageTracker that records hook usage into a small shared buffer and wires tracking into core/builtin hook surfaces.
  • Pass the shared usage buffer into the N-API JsCompiler and use it in Rust (HookUsageChecker) to skip unused JS register calls.
  • Mark internal interceptors (e.g. tracing) so they don’t accidentally count as “hook usage” and defeat the optimization.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
packages/rspack/src/trace/traceHookPlugin.ts Marks tracing interceptors as internal so they don’t trigger usage bits.
packages/rspack/src/NormalModuleFactory.ts Adds optional usage tracker wiring for factory hooks.
packages/rspack/src/HookUsageTracker.ts New shared-buffer tracker + helpers to mark/track hook usage.
packages/rspack/src/ContextModuleFactory.ts Adds optional usage tracker wiring for factory hooks.
packages/rspack/src/Compiler.ts Instantiates tracker, resets bits per compilation, passes buffer to binding, marks internal interceptor.
packages/rspack/src/Compilation.ts Wires usage tracking for compilation hooks + HookMap hook usage.
packages/rspack/src/builtin-plugin/RuntimePlugin.ts Tracks usage for RuntimePlugin compilation hooks.
packages/rspack/src/builtin-plugin/RsdoctorPlugin.ts Tracks usage for Rsdoctor compilation hooks.
packages/rspack/src/builtin-plugin/JavascriptModulesPlugin.ts Tracks usage for JS modules chunkHash hook.
packages/rspack/src/builtin-plugin/html-plugin/hooks.ts Tracks usage for Html plugin hooks.
crates/rspack_binding_api/src/plugins/js_hooks_plugin.rs Threads the hook usage buffer into the adapter and into each register wrapper.
crates/rspack_binding_api/src/plugins/interceptor.rs Adds HookUsageChecker and uses it to skip register calls; includes unit tests.
crates/rspack_binding_api/src/lib.rs Extends JsCompiler constructor to accept the hook usage buffer; removes old non-skippable API.
crates/node_binding/napi-binding.d.ts Updates TypeScript declarations for the new JsCompiler constructor signature.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/rspack/src/HookUsageTracker.ts Outdated
Comment thread packages/rspack/src/HookUsageTracker.ts Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 3, 2026

📦 Binary Size-limit

Comparing b450e81 to feat: skip building side-effect-only imports in make (#13688) by Gengkun

🎉 Size decreased by 3.84KB from 49.38MB to 49.37MB (⬇️0.01%)

@SyMind SyMind marked this pull request as draft April 3, 2026 15:34
@web-infra-dev web-infra-dev deleted a comment from github-actions bot Apr 3, 2026
@web-infra-dev web-infra-dev deleted a comment from github-actions bot Apr 3, 2026
@SyMind SyMind force-pushed the perf-hooks-register-schedule branch from 8554929 to cb2b369 Compare April 4, 2026 00:16
@web-infra-dev web-infra-dev deleted a comment from github-actions bot Apr 4, 2026
@web-infra-dev web-infra-dev deleted a comment from github-actions bot Apr 4, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 4, 2026

📝 Benchmark detail: Open

Name Base (9e48a3f) Current Change
10000_big_production-mode_disable-minimize + exec 14.1 s ± 148 ms 14 s ± 132 ms -0.50 %
10000_development-mode + exec 931 ms ± 28 ms 928 ms ± 12 ms -0.37 %
10000_development-mode_hmr + stats 178 ms ± 5.7 ms 174 ms ± 7.3 ms -2.14 %
10000_development-mode_noop-loader + exec 1.96 s ± 99 ms 1.9 s ± 41 ms -2.91 %
10000_production-mode + exec 1.09 s ± 34 ms 1.04 s ± 19 ms -4.39 %
10000_production-mode_persistent-cold + exec 1.25 s ± 21 ms 1.23 s ± 86 ms -1.11 %
10000_production-mode_persistent-hot + exec 905 ms ± 30 ms 894 ms ± 19 ms -1.13 %
10000_production-mode_source-map + exec 1.24 s ± 31 ms 1.21 s ± 14 ms -2.61 %
arco-pro_development-mode + exec 1.33 s ± 78 ms 1.31 s ± 121 ms -1.41 %
arco-pro_development-mode_hmr + stats 38 ms ± 4.5 ms 36 ms ± 0.92 ms -5.87 %
arco-pro_production-mode + exec 2.45 s ± 84 ms 2.44 s ± 118 ms -0.42 %
arco-pro_production-mode_generate-package-json-webpack-plugin + exec 2.51 s ± 50 ms 2.49 s ± 82 ms -0.79 %
arco-pro_production-mode_persistent-cold + exec 2.5 s ± 141 ms 2.47 s ± 69 ms -1.07 %
arco-pro_production-mode_persistent-hot + exec 1.36 s ± 27 ms 1.35 s ± 39 ms -0.81 %
arco-pro_production-mode_source-map + exec 2.9 s ± 87 ms 2.91 s ± 144 ms +0.46 %
arco-pro_production-mode_traverse-chunk-modules + exec 2.47 s ± 54 ms 2.48 s ± 97 ms +0.58 %
bundled-threejs_development-mode + exec 181 ms ± 2.4 ms 179 ms ± 3.4 ms -0.99 %
bundled-threejs_production-mode + exec 213 ms ± 10 ms 207 ms ± 3.6 ms -2.81 %
large-dyn-imports_development-mode + exec 1.17 s ± 40 ms 1.17 s ± 16 ms -0.20 %
large-dyn-imports_production-mode + exec 1.32 s ± 29 ms 1.31 s ± 38 ms -0.94 %
threejs_development-mode_10x + exec 824 ms ± 35 ms 810 ms ± 32 ms -1.70 %
threejs_development-mode_10x_hmr + stats 115 ms ± 3.1 ms 116 ms ± 4.1 ms +1.00 %
threejs_production-mode_10x + exec 2.98 s ± 55 ms 3.01 s ± 64 ms +1.18 %
threejs_production-mode_10x_persistent-cold + exec 3.14 s ± 34 ms 3.14 s ± 45 ms +0.02 %
threejs_production-mode_10x_persistent-hot + exec 2.48 s ± 16 ms 2.57 s ± 85 ms +3.80 %
threejs_production-mode_10x_source-map + exec 3.75 s ± 35 ms 3.8 s ± 96 ms +1.39 %
10000_big_production-mode_disable-minimize + rss memory 1998 MiB ± 67 MiB 1976 MiB ± 52 MiB -1.11 %
10000_development-mode + rss memory 595 MiB ± 12.8 MiB 584 MiB ± 3.08 MiB -1.87 %
10000_development-mode_hmr + rss memory 811 MiB ± 47.4 MiB 820 MiB ± 12.7 MiB +1.17 %
10000_development-mode_noop-loader + rss memory 884 MiB ± 8.83 MiB 880 MiB ± 10.4 MiB -0.46 %
10000_production-mode + rss memory 545 MiB ± 19.1 MiB 535 MiB ± 9.67 MiB -1.69 %
10000_production-mode_persistent-cold + rss memory 704 MiB ± 8.99 MiB 703 MiB ± 8.44 MiB -0.13 %
10000_production-mode_persistent-hot + rss memory 667 MiB ± 9.72 MiB 666 MiB ± 13.1 MiB -0.11 %
10000_production-mode_source-map + rss memory 561 MiB ± 6.4 MiB 559 MiB ± 7.9 MiB -0.30 %
arco-pro_development-mode + rss memory 476 MiB ± 3.33 MiB 483 MiB ± 12 MiB +1.27 %
arco-pro_development-mode_hmr + rss memory 496 MiB ± 10.3 MiB 497 MiB ± 12 MiB +0.13 %
arco-pro_production-mode + rss memory 670 MiB ± 8.43 MiB 677 MiB ± 12.6 MiB +1.15 %
arco-pro_production-mode_generate-package-json-webpack-plugin + rss memory 689 MiB ± 9.06 MiB 692 MiB ± 13.6 MiB +0.42 %
arco-pro_production-mode_persistent-cold + rss memory 737 MiB ± 23.1 MiB 744 MiB ± 16.2 MiB +0.87 %
arco-pro_production-mode_persistent-hot + rss memory 545 MiB ± 28.3 MiB 533 MiB ± 14.7 MiB -2.12 %
arco-pro_production-mode_source-map + rss memory 761 MiB ± 5.85 MiB 762 MiB ± 27.1 MiB +0.06 %
arco-pro_production-mode_traverse-chunk-modules + rss memory 676 MiB ± 7.09 MiB 673 MiB ± 10.6 MiB -0.33 %
bundled-threejs_development-mode + rss memory 159 MiB ± 6.87 MiB 154 MiB ± 6.45 MiB -3.50 %
bundled-threejs_production-mode + rss memory 178 MiB ± 8.65 MiB 174 MiB ± 5.76 MiB -2.07 %
large-dyn-imports_development-mode + rss memory 587 MiB ± 18.9 MiB 583 MiB ± 23.6 MiB -0.67 %
large-dyn-imports_production-mode + rss memory 471 MiB ± 16.5 MiB 469 MiB ± 13.8 MiB -0.39 %
threejs_development-mode_10x + rss memory 543 MiB ± 14.5 MiB 538 MiB ± 17.8 MiB -0.87 %
threejs_development-mode_10x_hmr + rss memory 677 MiB ± 19.2 MiB 675 MiB ± 15.5 MiB -0.19 %
threejs_production-mode_10x + rss memory 718 MiB ± 23.4 MiB 717 MiB ± 22.6 MiB -0.25 %
threejs_production-mode_10x_persistent-cold + rss memory 847 MiB ± 14.6 MiB 825 MiB ± 8.74 MiB -2.66 %
threejs_production-mode_10x_persistent-hot + rss memory 604 MiB ± 7.54 MiB 604 MiB ± 7.13 MiB -0.07 %
threejs_production-mode_10x_source-map + rss memory 829 MiB ± 36.9 MiB 819 MiB ± 31.6 MiB -1.19 %

@SyMind SyMind force-pushed the perf-hooks-register-schedule branch from 12d8180 to f24cc38 Compare April 7, 2026 02:23
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Apr 7, 2026

Deploying rspack with  Cloudflare Pages  Cloudflare Pages

Latest commit: 3851781
Status: ✅  Deploy successful!
Preview URL: https://ab78405b.rspack-v2.pages.dev
Branch Preview URL: https://perf-hooks-register-schedule.rspack-v2.pages.dev

View logs

@web-infra-dev web-infra-dev deleted a comment from github-actions bot Apr 13, 2026
@web-infra-dev web-infra-dev deleted a comment from github-actions bot Apr 13, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 13, 2026

📝 Benchmark detail: Open

Name Base (012e85a) Current Change
10000_big_production-mode_disable-minimize + exec 14 s ± 383 ms 14.1 s ± 345 ms +0.40 %
10000_development-mode + exec 947 ms ± 61 ms 938 ms ± 35 ms -0.99 %
10000_development-mode_hmr + stats 173 ms ± 11 ms 175 ms ± 12 ms +1.26 %
10000_development-mode_noop-loader + exec 1.95 s ± 84 ms 1.98 s ± 96 ms +1.07 %
10000_production-mode + exec 1.06 s ± 32 ms 1.06 s ± 33 ms -0.40 %
10000_production-mode_persistent-cold + exec 1.24 s ± 18 ms 1.23 s ± 23 ms -0.82 %
10000_production-mode_persistent-hot + exec 919 ms ± 38 ms 919 ms ± 7.6 ms 0.00 %
10000_production-mode_source-map + exec 1.24 s ± 58 ms 1.24 s ± 35 ms -0.03 %
arco-pro_development-mode + exec 1.33 s ± 87 ms 1.3 s ± 35 ms -2.46 %
arco-pro_development-mode_hmr + stats 37 ms ± 3.1 ms 36 ms ± 0.44 ms -3.09 %
arco-pro_production-mode + exec 2.48 s ± 83 ms 2.48 s ± 80 ms +0.28 %
arco-pro_production-mode_generate-package-json-webpack-plugin + exec 2.59 s ± 116 ms 2.51 s ± 89 ms -2.86 %
arco-pro_production-mode_persistent-cold + exec 2.54 s ± 87 ms 2.51 s ± 81 ms -1.12 %
arco-pro_production-mode_persistent-hot + exec 1.39 s ± 31 ms 1.37 s ± 39 ms -1.47 %
arco-pro_production-mode_source-map + exec 2.89 s ± 59 ms 2.9 s ± 156 ms +0.54 %
arco-pro_production-mode_traverse-chunk-modules + exec 2.5 s ± 64 ms 2.53 s ± 82 ms +1.12 %
bundled-threejs_development-mode + exec 182 ms ± 1.9 ms 181 ms ± 2.9 ms -0.55 %
bundled-threejs_production-mode + exec 212 ms ± 8.5 ms 209 ms ± 6.8 ms -1.23 %
large-dyn-imports_development-mode + exec 1.2 s ± 34 ms 1.18 s ± 31 ms -1.52 %
large-dyn-imports_production-mode + exec 1.29 s ± 58 ms 1.29 s ± 11 ms +0.06 %
threejs_development-mode_10x + exec 821 ms ± 22 ms 830 ms ± 17 ms +1.10 %
threejs_development-mode_10x_hmr + stats 120 ms ± 4.7 ms 121 ms ± 3.5 ms +0.65 %
threejs_production-mode_10x + exec 3.03 s ± 13 ms 3.05 s ± 37 ms +0.57 %
threejs_production-mode_10x_persistent-cold + exec 3.16 s ± 38 ms 3.19 s ± 15 ms +1.07 %
threejs_production-mode_10x_persistent-hot + exec 2.56 s ± 44 ms 2.56 s ± 32 ms +0.03 %
threejs_production-mode_10x_source-map + exec 3.81 s ± 24 ms 3.88 s ± 195 ms +1.73 %
10000_big_production-mode_disable-minimize + rss memory 1952 MiB ± 60.6 MiB 1941 MiB ± 48.1 MiB -0.56 %
10000_development-mode + rss memory 574 MiB ± 11.6 MiB 574 MiB ± 7.81 MiB -0.02 %
10000_development-mode_hmr + rss memory 803 MiB ± 24.1 MiB 793 MiB ± 36.7 MiB -1.26 %
10000_development-mode_noop-loader + rss memory 868 MiB ± 16.6 MiB 869 MiB ± 14.5 MiB +0.08 %
10000_production-mode + rss memory 512 MiB ± 4.52 MiB 511 MiB ± 11.8 MiB -0.17 %
10000_production-mode_persistent-cold + rss memory 687 MiB ± 12.4 MiB 693 MiB ± 11.1 MiB +0.81 %
10000_production-mode_persistent-hot + rss memory 669 MiB ± 9 MiB 666 MiB ± 19.9 MiB -0.42 %
10000_production-mode_source-map + rss memory 535 MiB ± 7.19 MiB 534 MiB ± 5.53 MiB -0.29 %
arco-pro_development-mode + rss memory 477 MiB ± 11.4 MiB 481 MiB ± 5.88 MiB +0.76 %
arco-pro_development-mode_hmr + rss memory 491 MiB ± 16.6 MiB 495 MiB ± 12.3 MiB +0.76 %
arco-pro_production-mode + rss memory 655 MiB ± 36.2 MiB 663 MiB ± 6.05 MiB +1.24 %
arco-pro_production-mode_generate-package-json-webpack-plugin + rss memory 679 MiB ± 12.4 MiB 684 MiB ± 16.9 MiB +0.64 %
arco-pro_production-mode_persistent-cold + rss memory 727 MiB ± 12.9 MiB 730 MiB ± 15.2 MiB +0.41 %
arco-pro_production-mode_persistent-hot + rss memory 537 MiB ± 31.8 MiB 537 MiB ± 34 MiB -0.01 %
arco-pro_production-mode_source-map + rss memory 743 MiB ± 12.8 MiB 760 MiB ± 24.8 MiB +2.30 %
arco-pro_production-mode_traverse-chunk-modules + rss memory 664 MiB ± 7.37 MiB 669 MiB ± 11.3 MiB +0.76 %
bundled-threejs_development-mode + rss memory 159 MiB ± 8.22 MiB 156 MiB ± 12.4 MiB -2.07 %
bundled-threejs_production-mode + rss memory 180 MiB ± 12.6 MiB 178 MiB ± 7.26 MiB -1.12 %
large-dyn-imports_development-mode + rss memory 568 MiB ± 24.3 MiB 568 MiB ± 26.1 MiB -0.08 %
large-dyn-imports_production-mode + rss memory 449 MiB ± 8.53 MiB 448 MiB ± 7.78 MiB -0.20 %
threejs_development-mode_10x + rss memory 539 MiB ± 11.9 MiB 541 MiB ± 8.53 MiB +0.36 %
threejs_development-mode_10x_hmr + rss memory 664 MiB ± 14.8 MiB 666 MiB ± 15.6 MiB +0.22 %
threejs_production-mode_10x + rss memory 697 MiB ± 18.3 MiB 696 MiB ± 13.9 MiB -0.07 %
threejs_production-mode_10x_persistent-cold + rss memory 816 MiB ± 10.5 MiB 816 MiB ± 8.41 MiB -0.01 %
threejs_production-mode_10x_persistent-hot + rss memory 585 MiB ± 3.33 MiB 583 MiB ± 9.32 MiB -0.22 %
threejs_production-mode_10x_source-map + rss memory 797 MiB ± 25.2 MiB 797 MiB ± 24.1 MiB -0.03 %

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 13, 2026

📝 Benchmark detail: Open

Name Base (012e85a) Current Change
10000_big_production-mode_disable-minimize + exec 14 s ± 383 ms 14 s ± 402 ms +0.12 %
10000_development-mode + exec 947 ms ± 61 ms 930 ms ± 37 ms -1.80 %
10000_development-mode_hmr + stats 173 ms ± 11 ms 169 ms ± 6.4 ms -2.34 %
10000_development-mode_noop-loader + exec 1.95 s ± 84 ms 1.98 s ± 177 ms +1.58 %
10000_production-mode + exec 1.06 s ± 32 ms 1.04 s ± 39 ms -2.45 %
10000_production-mode_persistent-cold + exec 1.24 s ± 18 ms 1.2 s ± 26 ms -2.72 %
10000_production-mode_persistent-hot + exec 919 ms ± 38 ms 889 ms ± 12 ms -3.22 %
10000_production-mode_source-map + exec 1.24 s ± 58 ms 1.23 s ± 78 ms -0.90 %
arco-pro_development-mode + exec 1.33 s ± 87 ms 1.33 s ± 103 ms -0.51 %
arco-pro_development-mode_hmr + stats 37 ms ± 3.1 ms 35 ms ± 0.81 ms -4.41 %
arco-pro_production-mode + exec 2.48 s ± 83 ms 2.5 s ± 174 ms +0.86 %
arco-pro_production-mode_generate-package-json-webpack-plugin + exec 2.59 s ± 116 ms 2.54 s ± 145 ms -1.82 %
arco-pro_production-mode_persistent-cold + exec 2.54 s ± 87 ms 2.47 s ± 134 ms -2.81 %
arco-pro_production-mode_persistent-hot + exec 1.39 s ± 31 ms 1.35 s ± 13 ms -2.64 %
arco-pro_production-mode_source-map + exec 2.89 s ± 59 ms 2.9 s ± 169 ms +0.40 %
arco-pro_production-mode_traverse-chunk-modules + exec 2.5 s ± 64 ms 2.52 s ± 110 ms +0.63 %
bundled-threejs_development-mode + exec 182 ms ± 1.9 ms 178 ms ± 2.9 ms -2.20 %
bundled-threejs_production-mode + exec 212 ms ± 8.5 ms 207 ms ± 5.6 ms -2.36 %
large-dyn-imports_development-mode + exec 1.2 s ± 34 ms 1.18 s ± 25 ms -1.65 %
large-dyn-imports_production-mode + exec 1.29 s ± 58 ms 1.31 s ± 47 ms +1.53 %
threejs_development-mode_10x + exec 821 ms ± 22 ms 828 ms ± 6.9 ms +0.83 %
threejs_development-mode_10x_hmr + stats 120 ms ± 4.7 ms 115 ms ± 3.2 ms -4.10 %
threejs_production-mode_10x + exec 3.03 s ± 13 ms 3 s ± 69 ms -1.14 %
threejs_production-mode_10x_persistent-cold + exec 3.16 s ± 38 ms 3.12 s ± 9.6 ms -1.18 %
threejs_production-mode_10x_persistent-hot + exec 2.56 s ± 44 ms 2.54 s ± 101 ms -0.97 %
threejs_production-mode_10x_source-map + exec 3.81 s ± 24 ms 3.77 s ± 60 ms -1.03 %
10000_big_production-mode_disable-minimize + rss memory 1952 MiB ± 60.6 MiB 1950 MiB ± 42.9 MiB -0.11 %
10000_development-mode + rss memory 574 MiB ± 11.6 MiB 571 MiB ± 15.7 MiB -0.43 %
10000_development-mode_hmr + rss memory 803 MiB ± 24.1 MiB 797 MiB ± 44.7 MiB -0.68 %
10000_development-mode_noop-loader + rss memory 868 MiB ± 16.6 MiB 865 MiB ± 12.2 MiB -0.37 %
10000_production-mode + rss memory 512 MiB ± 4.52 MiB 506 MiB ± 10.9 MiB -1.22 %
10000_production-mode_persistent-cold + rss memory 687 MiB ± 12.4 MiB 688 MiB ± 7.13 MiB +0.11 %
10000_production-mode_persistent-hot + rss memory 669 MiB ± 9 MiB 664 MiB ± 11.1 MiB -0.85 %
10000_production-mode_source-map + rss memory 535 MiB ± 7.19 MiB 530 MiB ± 8.92 MiB -1.02 %
arco-pro_development-mode + rss memory 477 MiB ± 11.4 MiB 473 MiB ± 6.48 MiB -0.88 %
arco-pro_development-mode_hmr + rss memory 491 MiB ± 16.6 MiB 492 MiB ± 4.85 MiB +0.15 %
arco-pro_production-mode + rss memory 655 MiB ± 36.2 MiB 653 MiB ± 13.4 MiB -0.22 %
arco-pro_production-mode_generate-package-json-webpack-plugin + rss memory 679 MiB ± 12.4 MiB 672 MiB ± 13.2 MiB -1.05 %
arco-pro_production-mode_persistent-cold + rss memory 727 MiB ± 12.9 MiB 725 MiB ± 10.5 MiB -0.26 %
arco-pro_production-mode_persistent-hot + rss memory 537 MiB ± 31.8 MiB 532 MiB ± 16 MiB -0.91 %
arco-pro_production-mode_source-map + rss memory 743 MiB ± 12.8 MiB 743 MiB ± 12.2 MiB -0.02 %
arco-pro_production-mode_traverse-chunk-modules + rss memory 664 MiB ± 7.37 MiB 654 MiB ± 8.77 MiB -1.39 %
bundled-threejs_development-mode + rss memory 159 MiB ± 8.22 MiB 156 MiB ± 7.65 MiB -1.93 %
bundled-threejs_production-mode + rss memory 180 MiB ± 12.6 MiB 176 MiB ± 4.29 MiB -2.64 %
large-dyn-imports_development-mode + rss memory 568 MiB ± 24.3 MiB 571 MiB ± 19.5 MiB +0.52 %
large-dyn-imports_production-mode + rss memory 449 MiB ± 8.53 MiB 448 MiB ± 8.43 MiB -0.11 %
threejs_development-mode_10x + rss memory 539 MiB ± 11.9 MiB 533 MiB ± 11 MiB -1.05 %
threejs_development-mode_10x_hmr + rss memory 664 MiB ± 14.8 MiB 671 MiB ± 14.6 MiB +1.01 %
threejs_production-mode_10x + rss memory 697 MiB ± 18.3 MiB 693 MiB ± 9.65 MiB -0.53 %
threejs_production-mode_10x_persistent-cold + rss memory 816 MiB ± 10.5 MiB 812 MiB ± 22.3 MiB -0.47 %
threejs_production-mode_10x_persistent-hot + rss memory 585 MiB ± 3.33 MiB 585 MiB ± 17 MiB +0.08 %
threejs_production-mode_10x_source-map + rss memory 797 MiB ± 25.2 MiB 799 MiB ± 31.5 MiB +0.26 %

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release: performance release: performance related release(mr only) team The issue/pr is created by the member of Rspack.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants