FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

perf: bypass unused readonly file system overlay by chenjiahan · Pull Request #135 · rstackjs/ts-checker-rspack-plugin · GitHub

perf: bypass unused readonly file system overlay - #135

Merged
chenjiahan merged 1 commit into
mainfrom
chenjiahan/perf-filesystem-probes
Jul 25, 2026
Merged

chenjiahan merged 1 commit into
mainfrom
chenjiahan/perf-filesystem-probes

Conversation

Copy link
Copy Markdown
Member

Summary

Readonly checks previously routed every file read through the passive disk/memory overlay, even before the in-memory file system contained any output. This PR reads directly from disk while the readonly memory layer is clean, then conservatively restores the overlay after its first mutation so SolutionBuilder can still consume generated reference artifacts. Other write modes and artifact handling remain unchanged.

Performance

Measured on Node.js v24.12.0 with 2 warmups and 7 interleaved A/B runs per case, comparing a112746 with this branch:

Case Baseline median Optimized median Improvement
react-1k 1482.9 ms 1377.1 ms 7.14%
react-5k 4682.0 ms 4068.3 ms 13.11%
react-10k 8302.2 ms 7199.0 ms 13.29%

The optimized build won all 21 paired runs. In the react-5k call profile, normalizePath calls fell by 44.6% and realpathSync calls fell by 36.1%; the interleaved timings above are the primary performance evidence.

Validation

  • pnpm lint
  • pnpm test (29 files, 163 tests)

Related Links

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info ⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 873c1433-19fd-47db-bdba-c53ef0d8b8e1

📥 Commits

Reviewing files that changed from the base of the PR and between a112746 and f356980.

📒 Files selected for processing (3)
  • src/typescript/worker/lib/file-system/mem-file-system.ts
  • src/typescript/worker/lib/system.ts
  • test/unit/typescript/system.spec.ts

📝 Walkthrough

Walkthrough

Adds change tracking to the in-memory filesystem and exposes it through hasChanges(). Readonly filesystem selection now uses the real filesystem when memory is unchanged and the passive overlay after memory mutations. New unit tests cover readonly routing, write-tsbuildinfo overlay behavior, and restoration of virtual files after deletion.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly captures the main optimization: bypassing the readonly overlay when it is unused.
Description check ✅ Passed The description directly matches the changeset, explaining the readonly overlay behavior change and its validation.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chenjiahan/perf-filesystem-probes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

chenjiahan merged commit 37ad056 into main Jul 25, 2026
6 checks passed
chenjiahan deleted the chenjiahan/perf-filesystem-probes branch July 25, 2026 13:27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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.

1 participant


Back | FazBrowse Home | New Git URL