Repository navigation
canary: profile the cmuxTests emit-module job (do not merge) - #14352
Closed
teamleaderleo wants to merge 2 commits into
Closed
teamleaderleo wants to merge 2 commits into
teamleaderleo wants to merge 2 commits into
Conversation
Contributor
|
All contributors have signed the CLA ✍️ ✅ |
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…merge) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…erge) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo
force-pushed
the
canary/cmuxtests-emit-module
branch
from
September 25, 2026 03:13
17a46e8 to
bb3ea46
Compare
|
Found 1 test failure on Blacksmith runners: Failure
|
teamleaderleo
added a commit
that referenced
this pull request
Sep 25, 2026
Nothing imports cmuxTests.swiftmodule, but its separate emit-module job type-checks every declaration and expands every @test macro: 26 s of a 31 s one-test-file rebuild, serial. The standalone driver with -no-emit-module-separately emits no module, and an empty SWIFT_OBJC_INTERFACE_HEADER_NAME removes the one output that needed it. The same edit now takes cmuxTests 4.1 s (#14352, run 36089490735). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
|
Canary done. Results and the shipped lever are in #14364 (runs 36087174643 and 36089490735 hold the logs). |
teamleaderleo
added a commit
that referenced
this pull request
Sep 25, 2026
Nothing imports cmuxTests.swiftmodule, but its separate emit-module job type-checks every declaration and expands every @test macro: 26 s of a 31 s one-test-file rebuild, serial. The standalone driver with -no-emit-module-separately emits no module, and an empty SWIFT_OBJC_INTERFACE_HEADER_NAME removes the one output that needed it. The same edit now takes cmuxTests 4.1 s (#14352, run 36089490735). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo
added a commit
that referenced
this pull request
Sep 25, 2026
Nothing imports cmuxTests.swiftmodule, but its separate emit-module job type-checks every declaration and expands every @test macro: 26 s of a 31 s one-test-file rebuild, serial. The standalone driver with -no-emit-module-separately emits no module, and an empty SWIFT_OBJC_INTERFACE_HEADER_NAME removes the one output that needed it. The same edit now takes cmuxTests 4.1 s (#14352, run 36089490735). Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Canary, do not merge. Profiles the
cmuxTestsSwiftEmitModule job, which is 26 s of the 31 s a one-test-file rebuild costs once #14349 lands (canary #14249, run 36081880621).After the admission compile,
scripts/ci/canary-cmuxtests-emit-module.shrebuildscmux-unitin six series. Each series rebuilds cmuxTests with its own arguments, then makes two one-test-file body edits. Only cmuxTests' arguments change ($(X_$(TARGET_NAME))); every series records-stats-output-dir+-fine-grained-timersand long type-check warnings.control: stats only, plus-debug-time-function-bodiesnoobjc:SWIFT_OBJC_INTERFACE_HEADER_NAME = ""on cmuxTests (nothing importscmuxTests-Swift.h)noabi:-Xfrontend -empty-abi-descriptorlean: both, plus-avoid-emit-module-source-infolazy: lean plus-experimental-lazy-typechecklegacy-merge:SWIFT_USE_INTEGRATED_DRIVER=NO+-no-emit-module-separatelyfor cmuxTests🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Canary, do not merge: profiles
cmuxTests' SwiftEmitModule job, which is 26 s of the ~31 s a one-test-file rebuild costs once #14349 lands.Probe
canary-cmuxtests-emit-module.shrebuilds cmuxTests in five series that each vary only its build flags, edits one test body, and rebuilds; every build appends per-task wall times and long type-check warnings to the job summary.nomoduleandnomodule-explicitdrop the separate emit-module job via-no-emit-module-separatelywith the integrated driver off;legacyadditionally drops the ObjC interface header;baseandlazykeep it.-stats-output-dirsince fine-grained timers double emit-module time, and verifies a no-module build cannot drop tests by enumerating the built bundle.CI
Written for commit bb3ea46. Summary will update on new commits.