-
-
Notifications
You must be signed in to change notification settings - Fork 476
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
perf(transformer): React display name transform reduce Atom allocations #3616
perf(transformer): React display name transform reduce Atom allocations #3616
Conversation
Your org has enabled the Graphite merge queue for merging into mainAdd the label “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. |
CodSpeed Performance ReportMerging #3616 will not alter performanceComparing Summary
|
Merge activity
|
…ns (#3616) Re-use existing `Atom`s in React Display Name transform rather than writing duplicate strings into the arena. Also add comments for where our implementation diverges from Babel's (in my opinion, ours is an improvement).
326d58e
to
8d237c4
Compare
f00b060
to
3a59294
Compare
## [0.14.0] - 2024-06-12 ### Breaking * fix(codegen)!: remove the unecessary 4th argument from `Codegen::new` (#3640) * feat(ast)!: make `Trivias` clonable by adding `Arc` (#3638) ### Features - f6d9ca6 linter: Add `eslint/sort-imports` rule (#3568) (Wang Wenzhe) - 129f91e span: Port over more methods from TextRange (#3592) (Don Isaac) ### Bug Fixes - f8f6d33 ast: Correct `visited_node` attr for strict mode of arrow fns (#3635) (overlookmotel) - e6ad3fb diagnostics: Do not print ansi color codes in non-TTYs (#3624) (Boshen) - d65202d span: Correct doc comments (#3608) (overlookmotel) - 35e267b transformer: Arrow function transform use UIDs for `_this` vars (#3634) (overlookmotel) - 39bdebc transformer: Arrow func transform maintain scope ID (#3633) (overlookmotel) - 5cb7e6a transformer: Arrow func transform use correct spans (#3630) (overlookmotel) - 0c4ccb4 transformer: Arrow function transform alter `</this>` (#3627) (overlookmotel) - 8d237c4 transformer: JSX source calculate correct column when Unicode chars (#3615) (overlookmotel) - 9e8f4d6 transformer: Do not add `__source` for generated nodes (#3614) (overlookmotel) - 0fb4c35 transformer: Use UID for JSX source filename var (#3612) (overlookmotel) ### Performance - 3a59294 transformer: React display name transform reduce Atom allocations (#3616) (overlookmotel) - f4c1389 transformer: Create `Vec` with capacity (#3613) (overlookmotel) ### Refactor - 0f92521 ast: Replace recursion with loop (#3626) (overlookmotel) - 08f1010 ast: Make `AstBuilder` `Copy` (#3602) (overlookmotel) - 84304b4 linter: Add a `ctx.module_record()` method (#3637) (Boshen) - f98f777 linter: Add rule fixer (#3589) (Don Isaac) - e90e6a2 minifier: Make `Prepass` `Copy` (#3603) (overlookmotel) - 7d61832 semantic: Pass `Rc` by value (#3586) (overlookmotel) - 89bcbd5 transformer: Move `BoundIdentifier` into helpers (#3610) (overlookmotel) - 5793ff1 transformer: Replace `&’a Trivias` with `Rc<Trivias>` (#3580) (Dunqing) - 509871f transformer: Comment for unimplemented `spec` option in arrow fns transform (#3618) (overlookmotel) - 4b2e3a7 transformer: Fix indentation (#3617) (overlookmotel) - 3467e3d transformer: Remove outdated comment (#3606) (overlookmotel) - a799225 transformer: Flatten file structure for React transform (#3604) (overlookmotel) - 70f31a8 transformer: Reduce branching in JSX transform (#3596) (overlookmotel) - 3ae567d transformer: Remove dead code (#3588) (overlookmotel) - 60cbdec traverse: `generate_uid_in_root_scope` method (#3611) (overlookmotel) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
Re-use existing
Atom
s in React Display Name transform rather than writing duplicate strings into the arena.Also add comments for where our implementation diverges from Babel's (in my opinion, ours is an improvement).