Skip to content

perf(minifier): avoid conversion from ident to str when for substitute symbols - #27209

Merged
Dunqing merged 1 commit into
oxc-project:mainfrom
armano2:feat/substitute_ident
Sep 30, 2026
Merged

Dunqing merged 1 commit into
oxc-project:mainfrom
armano2:feat/substitute_ident

Conversation

@armano2

@armano2 armano2 commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor
prev_decl_id.name // value is ident
substitute_single_use_symbol_in_expression // value is str
if id.name == search_for // compare ident to str that has been converted from ident

@armano2
armano2 requested a review from Dunqing as a code owner September 30, 2026 00:39
@github-actions github-actions Bot added the A-minifier Area - Minifier label Sep 30, 2026
@codspeed

codspeed Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 77 untouched benchmarks
⏩ 19 skipped benchmarks1


Comparing armano2:feat/substitute_ident (da1895c) with main (5914a24)

Open in CodSpeed

Footnotes

  1. 19 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@Dunqing
Dunqing merged commit 6fcd135 into oxc-project:main Sep 30, 2026
42 checks passed
@armano2
armano2 deleted the feat/substitute_ident branch September 30, 2026 03:12
graphite-app Bot pushed a commit that referenced this pull request Oct 5, 2026
### 🚀 Features

- 61003c7 minifier: Fold undefined argument in non delegating yield (#27324) (Armano)
- 07833c0 ast: Tie `debug_name` return lifetime to the underlying AST node (#27295) (sadan)
- adb1139 minifier: Merge import statements against the same module (#25534) (翠)
- cc82598 minifier: Merge import and export statements against the same module (#25533) (翠)
- 1c352ce minifier: Minimize bitwise binary expressions (#27107) (Armano)
- d1a0bcc minifier: Merge statements after terminating if block branches (#26667) (Armano)
- 7a95376 minifier: Merge adjucent if stmt with the same content (#26445) (Armano)

### 🐛 Bug Fixes

- 6a7d48b parser: Report abstract private field error on modifier (#27314) (camc314)
- 2ff6fb5 parser: Include generator marker in overload diagnostic span (#27313) (camc314)
- 4359a66 parser: Reject TypeScript class modifiers in JavaScript (#27312) (camc314)
- 565d75d minifier: Correct indopedency when processing nested sequences (#27273) (Armano)
- d0b9372 parser: Remove type-dependent tuple rest diagnostics (#27234) (camc314)
- 3d61a59 parser: Validate TypeScript type member separators (#27222) (camc314)
- b2793fa parser: Reject module syntax in script (#27220) (leaysgur)
- 5914a24 parser: Report `TS1243` for abstract async methods (#27192) (camc314)
- c6c6e5e parser: Report `TS1242` for interfaces with `abstract` modifier (#27191) (camc314)
- dd0bbb9 parser: Avoid duplicate index signature modifier diagnostic (#27190) (camc314)
- 8f61129 regex: Decode escaped capturing group names (#27156) (camc314)
- da1fed2 minifier: Fold conditional expressions with long sequences (#27083) (Armano)
- 0c601f4 isolated-declarations: Allow adding undefined to keyof parameter types (#27173) (Dunqing)
- 4896287 isolated-declarations: Support readonly parameter types (#27009) (sama Pyb)
- 72d62a1 transformer/explicit-resource-management: Transform classic for loop using declarations (#27148) (camc314)
- 4cf9ae2 minifier: Preserve sibling declarations in arguments copy rewrite (#27140) (camc314)
- 24b7015 transformer/explicit-resource-management: Lower using in catch and finally (#27142) (camc314)

### ⚡ Performance

- 99e3c15 minifier: Small performance improvement when merging imports (#27238) (Armano)
- d37d1db codegen: Pre-allocate sourcemap builder vectors (#27230) (codspeed)
- 466ef10 minifier: Update expressions in place in `merge_import_export` (#27226) (Armano)
- 028ffb8 minifier: Update nodes in place in `wrap_to_avoid_ambiguous_else` (#27194) (Armano)
- 6fcd135 minifier: Avoid conversion from ident to str when for substitute symbols (#27209) (Armano)
- 0b9799d minifier: Reduce usage of minimize_conditional (#26028) (Armano)
- 3ca3ded minifier: Short-circuit IfStatement termination on alternate (#25198) (Armano)

### 📚 Documentation

- 335ce79 agents: Scope verification for local and stacked work (#27299) (Dunqing)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-minifier Area - Minifier

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants