-
-
Notifications
You must be signed in to change notification settings - Fork 454
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
feat(minifier): add MinimizeConditions
pass
#5747
feat(minifier): add MinimizeConditions
pass
#5747
Conversation
Your org has enabled the Graphite merge queue for merging into mainAdd the label “0-merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
This stack of pull requests is managed by Graphite. Learn more about stacking. |
CodSpeed Performance ReportMerging #5747 will degrade performances by 4.64%Comparing Summary
Benchmarks breakdown
|
8181302
to
4fec44f
Compare
Merge activity
|
I expect small performance regression. But managed to improve the following case from react.developmement.js ``` oxc main ❯ diff before.js after.js 670c670 < if (!(dispatcher !== null)) throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem."); --- > if (dispatcher === null) throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem."); ```
4fec44f
to
6bc13f6
Compare
## [0.29.0] - 2024-09-13 - 71116a1 index: [**BREAKING**] Remove ability to index `IndexVec` with `usize` (#5733) (overlookmotel) - c3dd2a0 ast: [**BREAKING**] Revert: reduce byte size of `TaggedTemplateExpression::quasi` by `Boxing` it (#5679) (#5715) (overlookmotel) ### Features - 953fe17 ast: Provide `NONE` type for AST builder calls (#5737) (overlookmotel) - a362f51 index: Add `IndexVec::shrink_to` (#5713) (overlookmotel) - e968e9f minifier: Constant fold nullish coalescing operator (#5761) (Boshen) - 6bc13f6 minifier: Add `MinimizeConditions` pass (#5747) (Boshen) - 805fbac oxc_cfg: Better control flow graph dot dot repr (#5731) (IWANABETHATGUY) - f3baa49 semantic: Add `SemanticBuilder::with_stats` (#5757) (overlookmotel) - 7fa0cb3 semantic: Expose `Stats` (#5755) (overlookmotel) ### Bug Fixes - 8ff013a minifier: Handle dce CallExpression::callee (#5752) (Boshen) - 608b7d3 napi/transformer: Refresh plugin doesn't work even after passing the refresh option (#5702) (Dunqing) - 042afa9 syntax: Correctly check for valid `RedeclarationId`s (#5759) (overlookmotel) - 77d9170 transformer/react: IsStaticChildren should be false when there is only one child (#5745) (Dunqing) ### Performance - 333e2e0 index: Remove `Idx` bounds-checks from `first` + `last` methods (#5726) (overlookmotel) - d18c896 rust: Use `cow_utils` instead (#5664) (dalaoshu) ### Refactor - 2890c98 minifier: Add tests for `remove_syntax` (#5749) (Boshen) - 9a9d8f6 minifier: Replace `self.ast` with `ctx.ast` (#5748) (Boshen) - 746f7b3 minifier: Align code with closure compiler (#5717) (Boshen) - 21e2df5 minifier: Replace `VisitMut` with `Traverse` for inject and define plugins (#5705) (Boshen) - 4bdc202 rust: Remove some #[allow(unused)] (#5716) (Boshen) - a35fb14 semantic: `Stats::assert_accurate` take `self` (#5758) (overlookmotel) - 4b896f1 semantic: Make `Stats` `Copy` (#5756) (overlookmotel) - b4b460f semantic: `Stats` store counts as `u32` (#5754) (overlookmotel) - 667170c semantic: Rename `Counts` to `Stats` (#5753) (overlookmotel) - cc0408b semantic: S/AstNodeId/NodeId (#5740) (Boshen) - 7dfcdfc semantic: Remove `more-asserts` dependency (#5739) (overlookmotel) - 6436524 semantic: Fix dead code warning in release mode (#5728) (overlookmotel) - e02621d semantic: Re-order use statements (#5712) (overlookmotel) - ac6203c semantic: Move `Counts` code into counter module (#5710) (overlookmotel) - 339fcfc semantic: Rename `Counts` in transform checker (#5709) (overlookmotel) - d8ec781 semantic: Remove `record_ast_node` call for `Program` (#5701) (overlookmotel) ### Styling - 1857ff0 semantic: Rename vars for node IDs (#5699) (overlookmotel) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
I expect small performance regression.
But managed to improve the following case from react.developmement.js