Skip to content

Comments

refactor: remove stmt_info_idx in StmtInfo#6244

Merged
IWANABETHATGUY merged 1 commit intomainfrom
09-17-refactor_remove_stmtinfoindex_in_stmtinfo
Sep 17, 2025
Merged

refactor: remove stmt_info_idx in StmtInfo#6244
IWANABETHATGUY merged 1 commit intomainfrom
09-17-refactor_remove_stmtinfoindex_in_stmtinfo

Conversation

@IWANABETHATGUY
Copy link
Member

@IWANABETHATGUY IWANABETHATGUY commented Sep 17, 2025

The StmtInfoIdx​ is only used in scan​ phase, we could record the current idx for each top level StmtInfo instead of use another field in StmtInfo to record it.
Removing StmtInfoIdx​ could reduce the memory usage of StmtInfo​ , which was created a lot during bundling.

Copy link
Member Author

IWANABETHATGUY commented Sep 17, 2025


How to use the Graphite Merge Queue

Add the label graphite: merge to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@IWANABETHATGUY IWANABETHATGUY force-pushed the 09-17-refactor_extract_crossmoduleoptimizationrunnercontext_in_cross_module_optimization branch from 7a65036 to 4caf499 Compare September 17, 2025 02:42
@IWANABETHATGUY IWANABETHATGUY force-pushed the 09-17-refactor_remove_stmtinfoindex_in_stmtinfo branch from 4d3fae8 to 4b1dedb Compare September 17, 2025 02:42
@IWANABETHATGUY IWANABETHATGUY marked this pull request as ready for review September 17, 2025 02:42
@IWANABETHATGUY IWANABETHATGUY changed the title refactor: remove StmtInfoIndex in StmtInfo refactor: extract current_stmt_idx from StmtInfo Sep 17, 2025
@IWANABETHATGUY IWANABETHATGUY changed the title refactor: extract current_stmt_idx from StmtInfo refactor: remove stmt_info_idx in StmtInfo Sep 17, 2025
@IWANABETHATGUY IWANABETHATGUY force-pushed the 09-17-refactor_remove_stmtinfoindex_in_stmtinfo branch 2 times, most recently from fe5ba6f to 4fc0350 Compare September 17, 2025 02:52
@github-actions
Copy link
Contributor

github-actions bot commented Sep 17, 2025

Benchmarks Rust

  • target: main(855e36f)
  • pr: 09-17-refactor_remove_stmtinfoindex_in_stmtinfo(a9b24df)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.02     83.8±1.98ms        ? ?/sec    1.00     82.4±3.27ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.00     91.6±1.71ms        ? ?/sec    1.01     92.6±1.94ms        ? ?/sec
bundle/bundle@rome_ts                                        1.01    122.5±4.59ms        ? ?/sec    1.00    120.8±1.66ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.02    144.1±2.18ms        ? ?/sec    1.00    141.0±1.71ms        ? ?/sec
bundle/bundle@threejs                                        1.00     46.4±2.45ms        ? ?/sec    1.01     46.6±2.47ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.00     55.1±0.91ms        ? ?/sec    1.00     55.1±0.88ms        ? ?/sec
bundle/bundle@threejs10x                                     1.01    472.9±5.39ms        ? ?/sec    1.00    470.3±6.79ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.01    557.9±7.95ms        ? ?/sec    1.00    552.7±4.61ms        ? ?/sec
scan/scan@rome_ts                                            1.00     97.3±3.28ms        ? ?/sec    1.00     97.7±1.45ms        ? ?/sec
scan/scan@threejs                                            1.08     36.8±2.08ms        ? ?/sec    1.00     34.0±0.62ms        ? ?/sec
scan/scan@threejs10x                                         1.00    355.4±5.41ms        ? ?/sec    1.00    356.0±4.23ms        ? ?/sec

@graphite-app
Copy link
Contributor

graphite-app bot commented Sep 17, 2025

Merge activity

  • Sep 17, 4:03 AM UTC: IWANABETHATGUY added this pull request to the Graphite merge queue.
  • Sep 17, 4:23 AM UTC: The Graphite merge queue couldn't merge this PR because it was not satisfying all requirements (Failed CI: 'node-test (macos-latest) / Node Test', 'node-test (windows-latest) / Node Test').

@graphite-app graphite-app bot force-pushed the 09-17-refactor_extract_crossmoduleoptimizationrunnercontext_in_cross_module_optimization branch from 4caf499 to 05805e9 Compare September 17, 2025 04:10
graphite-app bot pushed a commit that referenced this pull request Sep 17, 2025
The `StmtInfoIdx`​ is only used in `scan`​ phase, we could record the current `idx` for each top level `StmtInfo` instead of use another field in `StmtInfo` to record it.
Removing `StmtInfoIdx`​ could reduce the memory usage of `StmtInfo`​ , which was created a lot during bundling.
@graphite-app graphite-app bot force-pushed the 09-17-refactor_remove_stmtinfoindex_in_stmtinfo branch from 4fc0350 to 10b0209 Compare September 17, 2025 04:11
Base automatically changed from 09-17-refactor_extract_crossmoduleoptimizationrunnercontext_in_cross_module_optimization to main September 17, 2025 04:22
The `StmtInfoIdx`​ is only used in `scan`​ phase, we could record the current `idx` for each top level `StmtInfo` instead of use another field in `StmtInfo` to record it.
Removing `StmtInfoIdx`​ could reduce the memory usage of `StmtInfo`​ , which was created a lot during bundling.
@IWANABETHATGUY IWANABETHATGUY force-pushed the 09-17-refactor_remove_stmtinfoindex_in_stmtinfo branch from 10b0209 to a9b24df Compare September 17, 2025 04:58
@netlify
Copy link

netlify bot commented Sep 17, 2025

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit a9b24df
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/68ca400ffe34f40008170796

@IWANABETHATGUY IWANABETHATGUY merged commit 7b359db into main Sep 17, 2025
28 checks passed
@IWANABETHATGUY IWANABETHATGUY deleted the 09-17-refactor_remove_stmtinfoindex_in_stmtinfo branch September 17, 2025 05:52
shulaoda pushed a commit that referenced this pull request Sep 22, 2025
## [1.0.0-beta.39] - 2025-09-22

⚡ MacOS Performance Boost

- 10%-30% faster bundling
- Up to 45% in extreme cases

### 🚀 Features

- rolldown: oxc v0.90.0 + other oxc crate updates (#6274) by @Boshen
- support ignoring `/* @vite-ignore */` comment for dynamic imports (#6264) by @IWANABETHATGUY
- dev: merge mergeable queued tasks into one (#6253) by @hyf0
- dev: ignore self imports when computing update for invalidate (#6252) by @sapphi-red
- support `#__NO_SIDE_EFFECTS__` annotation for export default function declaration (#6239) by @IWANABETHATGUY
- rolldown_plugin_dynamic_import_vars: respect `@vite-ignore` comment (#6240) by @shulaoda
- rolldown_plugin_import_glob: support `exhaustive` option (#6236) by @shulaoda
- cross chunk /* @__NO_SIDE_EFFECTS__ */ support (#6207) by @IWANABETHATGUY
- rolldown_plugin_react_refresh_wrapper: make the plugin callable (#6229) by @sapphi-red

### 🐛 Bug Fixes

- handle optional chaining in scope hoisting member expression rewriting (#6278) by @shulaoda
- release: Fix semver commit release format to use plus instead of dash (#6273) by @Copilot
- dev: `ensure_latest_build_output` should work correctly when `eagerBuild: false` (#6262) by @hyf0
- browser: does not work in stackblitz (#6257) by @shulaoda
- only inline constants that are not reassigned (#6247) by @IWANABETHATGUY
- handle lexical declarations in root scope (#6230) by @IWANABETHATGUY

### 🚜 Refactor

- move oxc runtime helper generation from `build.rs` to task generator (#6284) by @shulaoda
- remove unused `SpanExt` (#6266) by @IWANABETHATGUY
- remove `@rolldown-ignore` ignore comment support (#6265) by @IWANABETHATGUY
- enhance CommonJsAstType to track property names (#6250) by @IWANABETHATGUY
- simplify usage for `Address::from` (#6245) by @IWANABETHATGUY
- remove `stmt_info_idx` in StmtInfo (#6244) by @IWANABETHATGUY
- extract `CrossModuleOptimizationRunnerContext` in cross_module_optimization (#6243) by @IWANABETHATGUY
- dev: task-queue based deisgn (#6233) by @hyf0
- extract immutable context from AstScanner (#6238) by @IWANABETHATGUY
- dev: rename `WatcherEventService` to `BuildDriverService` (#6232) by @hyf0
- move FlatOptions to rolldown_common (#6235) by @IWANABETHATGUY
- extract mutable state from ScopeHoistingFinalizerContext (#6234) by @IWANABETHATGUY
- wait `this.load` using futures instead of callbacks (#6222) by @sapphi-red
- rolldown_plugin_transform: remove unused `runtime_resolve_base` option (#6226) by @sapphi-red

### 📚 Documentation

- add "edit this page on GitHub" button (#6241) by @siaeyy

### ⚡ Performance

- rolldown: minor performance optimization (#6271) by @Brooooooklyn
- rolldown: take advantage of tokio blocking threads (#6270) by @Brooooooklyn

### 🧪 Testing

- dev: add rebuild after HMR case (#6260) by @sapphi-red
- dev: support full reload in tests (#6259) by @sapphi-red
- dev: extract waitFor from waitForPathExists (#6261) by @sapphi-red
- add class like cases for empty function optimizations (#6248) by @sapphi-red

### ⚙️ Miscellaneous Tasks

- deps: update github-actions (#6298) by @renovate[bot]
- deps: update dependency dprint/dprint-plugin-typescript to v0.95.11 (#6296) by @renovate[bot]
- deps: update dependency dprint/dprint-plugin-markdown to v0.19.0 (#6295) by @renovate[bot]
- deps: update dependency g-plane/pretty_yaml to v0.5.1 (#6294) by @renovate[bot]
- use a forked version of openharmony-rs/setup-ohos-sdk (#6290) by @Boshen
- deps: update dependency tsdown to v0.15.4 (#6286) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.16.7 (#6285) by @renovate[bot]
- rust: continue to make `cargo publish --workspace` work (#6281) by @Boshen
- deps: update dependency tsdown to v0.15.3 (#6280) by @renovate[bot]
- rust: fixes for `cargo publish --dry-run --workspace` (#6279) by @Boshen
- deps: update dependency rust to v1.90.0 (#6277) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.16.6 (#6276) by @renovate[bot]
- adding tracing for all sub stage in LinkStage:link (#6268) by @IWANABETHATGUY
- deps: update oxc-project/setup-node action to v1.0.4 (#6258) by @renovate[bot]
- deps: update github-actions (#6249) by @renovate[bot]
- deps: update dependency tsdown to v0.15.2 (#6242) by @renovate[bot]
- dev: output error when the initial bundle failed (#6228) by @sapphi-red

### ❤️ New Contributors

* @siaeyy made their first contribution in [#6241](#6241)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants