Skip to content

perf: try add cache for hotpath function #10224

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

hardfist
Copy link
Contributor

Summary

try add cache for hotpath function

Checklist

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

@github-actions github-actions bot added the team The issue/pr is created by the member of Rspack. label Apr 28, 2025
Copy link

netlify bot commented Apr 28, 2025

Deploy Preview for rspack ready!

Name Link
🔨 Latest commit 9ddac20
🔍 Latest deploy log https://app.netlify.com/sites/rspack/deploys/6810178dbbc48d0008a137b9
😎 Deploy Preview https://deploy-preview-10224--rspack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@hardfist hardfist changed the title chore: try add cache for hotpath function perf: try add cache for hotpath function Apr 28, 2025
@github-actions github-actions bot added the release: performance release: performance related release(mr only) label Apr 28, 2025
Copy link
Contributor

github-actions bot commented Apr 28, 2025

📝 Benchmark detail: Open

Name Base (2025-04-28 f8d0184) Current Change
10000_big_production-mode_disable-minimize + exec 35.4 s ± 281 ms 35.5 s ± 616 ms +0.25 %
10000_development-mode + exec 1.82 s ± 32 ms 1.75 s ± 37 ms -3.65 %
10000_development-mode_hmr + exec 741 ms ± 16 ms 731 ms ± 22 ms -1.41 %
10000_production-mode + exec 2.29 s ± 96 ms 2.21 s ± 52 ms -3.48 %
10000_production-mode_persistent-cold + exec 2.44 s ± 23 ms 2.42 s ± 195 ms -0.73 %
10000_production-mode_persistent-hot + exec 1.73 s ± 43 ms 1.67 s ± 37 ms -3.36 %
arco-pro_development-mode + exec 1.79 s ± 118 ms 1.75 s ± 122 ms -2.48 %
arco-pro_development-mode_hmr + exec 382 ms ± 3.2 ms 381 ms ± 0.74 ms -0.25 %
arco-pro_production-mode + exec 3.45 s ± 107 ms 3.45 s ± 172 ms +0.21 %
arco-pro_production-mode_generate-package-json-webpack-plugin + exec 3.59 s ± 329 ms 3.6 s ± 129 ms +0.41 %
arco-pro_production-mode_persistent-cold + exec 3.56 s ± 151 ms 3.54 s ± 142 ms -0.60 %
arco-pro_production-mode_persistent-hot + exec 2.2 s ± 68 ms 2.16 s ± 93 ms -1.70 %
arco-pro_production-mode_traverse-chunk-modules + exec 3.48 s ± 221 ms 3.47 s ± 127 ms -0.29 %
large-dyn-imports_development-mode + exec 2.06 s ± 45 ms 2 s ± 16 ms -2.77 %
large-dyn-imports_production-mode + exec 2.1 s ± 50 ms 2.01 s ± 35 ms -4.10 %
threejs_development-mode_10x + exec 1.64 s ± 43 ms 1.61 s ± 56 ms -1.53 %
threejs_development-mode_10x_hmr + exec 838 ms ± 13 ms 829 ms ± 7.1 ms -1.07 %
threejs_production-mode_10x + exec 5.23 s ± 15 ms 5.18 s ± 50 ms -0.93 %
threejs_production-mode_10x_persistent-cold + exec 5.3 s ± 49 ms 5.23 s ± 82 ms -1.20 %
threejs_production-mode_10x_persistent-hot + exec 4.46 s ± 59 ms 4.4 s ± 45 ms -1.50 %
10000_big_production-mode_disable-minimize + rss memory 9214 MiB ± 251 MiB 9134 MiB ± 57.6 MiB -0.87 %
10000_development-mode + rss memory 650 MiB ± 19.7 MiB 672 MiB ± 17.9 MiB +3.37 %
10000_development-mode_hmr + rss memory 797 MiB ± 18.9 MiB 804 MiB ± 15.5 MiB +0.93 %
10000_production-mode + rss memory 641 MiB ± 20.1 MiB 699 MiB ± 43 MiB +9.08 %
10000_production-mode_persistent-cold + rss memory 738 MiB ± 52.3 MiB 816 MiB ± 45 MiB +10.59 %
10000_production-mode_persistent-hot + rss memory 749 MiB ± 31.4 MiB 777 MiB ± 42.8 MiB +3.78 %
arco-pro_development-mode + rss memory 582 MiB ± 33.4 MiB 620 MiB ± 41.9 MiB +6.48 %
arco-pro_development-mode_hmr + rss memory 487 MiB ± 42.1 MiB 506 MiB ± 30.6 MiB +3.93 %
arco-pro_production-mode + rss memory 685 MiB ± 71.1 MiB 708 MiB ± 31 MiB +3.45 %
arco-pro_production-mode_generate-package-json-webpack-plugin + rss memory 708 MiB ± 75.2 MiB 731 MiB ± 50.8 MiB +3.30 %
arco-pro_production-mode_persistent-cold + rss memory 798 MiB ± 58.4 MiB 797 MiB ± 29.8 MiB -0.14 %
arco-pro_production-mode_persistent-hot + rss memory 624 MiB ± 65.7 MiB 666 MiB ± 85.8 MiB +6.81 %
arco-pro_production-mode_traverse-chunk-modules + rss memory 697 MiB ± 61.9 MiB 709 MiB ± 57 MiB +1.72 %
large-dyn-imports_development-mode + rss memory 652 MiB ± 3.84 MiB 683 MiB ± 13 MiB +4.81 %
large-dyn-imports_production-mode + rss memory 535 MiB ± 5.03 MiB 569 MiB ± 13.3 MiB +6.30 %
threejs_development-mode_10x + rss memory 617 MiB ± 35 MiB 628 MiB ± 54.6 MiB +1.90 %
threejs_development-mode_10x_hmr + rss memory 733 MiB ± 21.1 MiB 740 MiB ± 41 MiB +0.95 %
threejs_production-mode_10x + rss memory 953 MiB ± 48.8 MiB 949 MiB ± 103 MiB -0.45 %
threejs_production-mode_10x_persistent-cold + rss memory 1028 MiB ± 59.9 MiB 1032 MiB ± 34.1 MiB +0.42 %
threejs_production-mode_10x_persistent-hot + rss memory 897 MiB ± 85.3 MiB 930 MiB ± 85.7 MiB +3.64 %

Copy link

codspeed-hq bot commented Apr 28, 2025

CodSpeed Performance Report

Merging #10224 will not alter performance

Comparing yj/try-add-cache (9ddac20) with main (d13413d)

Summary

✅ 11 untouched benchmarks

h-a-n-a
h-a-n-a previously approved these changes Apr 28, 2025
Copy link
Contributor

@h-a-n-a h-a-n-a left a comment

Choose a reason for hiding this comment

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

Stats.toJson() test got about 7% performance improvement. LGTM

@hardfist
Copy link
Contributor Author

Stats.toJson() test got about 7% performance improvement. LGTM

but it will have memory leak issue, since it never evict and I'm not sure whether it's a issue

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