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.
docc convert
time. It does so by fixing a major bottleneck in the creation of the navigator index.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 https://github.com/apple/swift-docc/pull/924/commits/64440369b494e5d00f10bead12a613e28705be61.