Skip to content

[6.0] Much faster navigator index creation for mixed Swift and Objective-C projects #924

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

d-ronnqvist
Copy link
Contributor

@d-ronnqvist d-ronnqvist commented May 23, 2024

  • Explanation:
    This significantly improves the build time for large (10k+ symbols) mixed Swift and Objective-C projects; about 5 times faster total docc convert time. It does so by fixing a major bottleneck in the creation of the navigator index.
  • Scope: Navigator index creation for mixed Swift and Objective-C projects
  • Issue: rdar://127759734
  • Risk: Low
  • Testing: New tests verify that both the fast and slow code paths produce the same navigator index for mixed Swift and Objective-C projects with refined symbol hierarchies. All existing navigator index tests pass.
  • Reviewer: @mayaepps
  • Original PR: Much faster navigator index creation for mixed Swift and Objective-C projects #917

Note:
Some new code depended on the ability to sort source languages which was an underlying change in #856 but which was never cherry-picked over to the 6.0 release. I brought over only that change in 6444036.

d-ronnqvist and others added 2 commits May 23, 2024 09:10
…projects (swiftlang#917)

* Fix a navigator index performance for mixed Swift/Objective-C projects

rdar://127759734

* Use new apply-patch function in other places

* Deprecate unused `RenderNode/childrenRelationship(for:)`

* Move inner function in test to avoid warning about captured state

* Fix unrelated issue where the language in disambiguated references wasn't stable

* Move new indexable-render-node-representation protocol top-level

* Remove extra word in code comment

Co-authored-by: Maya Epps <[email protected]>

---------

Co-authored-by: Maya Epps <[email protected]>
@d-ronnqvist d-ronnqvist requested a review from franklinsch May 23, 2024 07:43
@d-ronnqvist
Copy link
Contributor Author

@swift-ci please test

@d-ronnqvist
Copy link
Contributor Author

@swift-ci please test

@d-ronnqvist d-ronnqvist merged commit a77fc11 into swiftlang:release/6.0 May 23, 2024
@d-ronnqvist d-ronnqvist deleted the objc-navigator-index-performance-6.0 branch May 23, 2024 11:50
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