Skip to content

Optimize native exact-tree materialization (replacement) - #31

Merged
kvkenyon merged 4 commits into
mainfrom
fm/rtc-native-101-performance-replacement
Sep 4, 2026
Merged

Optimize native exact-tree materialization (replacement)#31
kvkenyon merged 4 commits into
mainfrom
fm/rtc-native-101-performance-replacement

Conversation

@kvkenyon

@kvkenyon kvkenyon commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Successor to the preserved predecessor #28. This replacement branch starts at current origin/main (f29da812) and imports only its RTCGit performance, timeout, fixture, documentation, and focused-test changes; the predecessor branch and PR remain untouched.

The change batches committed blob metadata/content, reads numstats once, and bounds patch concurrency at four while retaining exact revision identity, shell-free /usr/bin/git, option termination, hostile filename bytes, cancellation checks, error mapping, and existing file/patch/total/time caps. It also uses pinned-Git-compatible -z request framing and newline response parsing.

The first two unsigned-validation attempts reached the workflow's 15-minute timeout while RTCIngestTests was running. Four concurrent patches had placed blocking pipe reads and waitpid calls on Swift's cooperative executor, which can starve on lower-core CI hosts. The runner now performs those bounded blocking calls on an overcommitting dispatch queue; there was no workflow concurrency rule or superseding cancellation.

Validation:

  • Focused CLT smoke: batch framing/EOF, timeout mapping, hostile filename byte fidelity, committed-tree reads, dirty-tree exclusion, and exact SHAs passed.
  • Single-lane cooperative-pool stress: three measured 101-file materializations completed in 4.4 seconds total with p95 956.72 ms.
  • 101-file/5,000-line release benchmark on Apple M5, 24 GiB, macOS 26.1, Swift 6.2.1, Apple Git 2.50.1: p50 1,067.98 ms, p95 1,207.36 ms, 109 Git processes/iteration (20 iterations, two warmups).
  • npm run check passed.
  • scripts/native-check.sh built the native graph and passed checks through the known unrelated RTCIngestTests abort: RTCIPC.IPCTransportError.socketPathTooLong from this long isolated worktree. Remaining native executables and Xcode project generation passed when run directly; the branch does not broaden into RTCIngest/RTCIPC ownership.

XCTest targets, the full-Xcode build/UI tests, signing, notarization, clean-install, and release evidence remain unclaimed on this Command Line Tools host.

@kvkenyon
kvkenyon merged commit 93a457f into main Sep 4, 2026
3 checks passed
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