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
Report performance in CI #5488
Report performance in CI #5488
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
34240fb
to
79f768d
Compare
Thank you for your contribution! ❤️You can try out this pull request locally by installing Rollup via npm install rollup/rollup#xiaopi/ci-performance-report Notice: Ensure you have installed Rust nightly. If you haven't installed it yet, please first see https://www.rust-lang.org/tools/install to learn how to download Rustup and install Rust, then see https://rust-lang.github.io/rustup/concepts/channels.html to learn how to install Rust nightly. or load it into the REPL: |
Performance report!Rough benchmark
Internal benchmarkBUILD: 8442ms (-33ms, -0.4%), 743 MBinitialize: 0ms, 24.3 MB (+8%)generate module graph: 3291ms (+18ms, +0.6%), 565 MBgenerate ast: 1554ms (+38ms, +2.5%), 557 MB sort and bind modules: 451ms, 606 MBmark included statements: 4681ms (-56ms, -1.2%), 743 MBtreeshaking pass 1: 1573ms (-27ms, -1.7%), 706 MB GENERATE: 909ms, 1.02 GBinitialize render: 0ms, 906 MBgenerate chunks: 87ms, 919 MBoptimize chunks: 0ms, 907 MB render chunks: 803ms, 993 MBtransform chunks: 17ms, 1.02 GBgenerate bundle: 0ms, 1.02 GB |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5488 +/- ##
=======================================
Coverage 98.81% 98.81%
=======================================
Files 238 238
Lines 9451 9451
Branches 2408 2408
=======================================
Hits 9339 9339
Misses 47 47
Partials 65 65 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is amazing! One question, though: Currently, this is using the Rollup build, which has many plugins that are out of our control etc. and not too close to the core Rollup performance. I recently added a benchmarking script that you get when you run npm run perf
(replacing an older benchmark that did not work too well...).
What this does is basically run a benchmark used by esbuild: Download the three.js sources and bundle them ten times. This does not require any plugins and is thus a much better measure of bundling performance. It will also report detailed statistics in which parts of the application we gain or lose performance as well as where the memory consumption improved or became worse. Not sure if it is easy to put this into a report, but this is something I thought we should definitely have eventually.
👍, Oh, I see!
Yeah, I agree with you! I think it's not hard to include this information in the report. I'll have a look at it! |
609cdf9
to
bd375e8
Compare
bd375e8
to
d6a4f5d
Compare
504b772
to
17ce1f9
Compare
5b8eb64
to
0e0c0f6
Compare
4d703e4
to
0e0c0f6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice 👍
One thing to consider if we want to save a runner could be to not build the artifacts in the job but move the report phase to the other Github workflow where we already build all artifacts and run it similar to the tests and smoke tests. But on the other hand, it does not make much of a difference.
This PR has been released as part of rollup@4.17.0. You can test it via |
This PR contains:
Are tests included?
Breaking Changes?
List any relevant issue numbers:
Description
Through this report, we can roughly determine whether there are performance regression or improvement in the PR.