У меня есть большой пакет Swift с большим количеством служебного кода, который я хочу использовать для небольшого нового проекта.Этот новый проект значительно меньше самого пакета, и он будет использовать только несколько изолированных классов из него.Я знаю, что это плохой дизайн, но это не главное.Насколько я знаю, компоновщик C удаляет весь неиспользуемый код из статической библиотеки, поэтому в окончательный двоичный файл будут включены только те материалы из библиотеки, которые фактически используются клиентом.
В слайдах AppleПакеты Swift представлены как статическая альтернатива библиотеки для Swift.Поэтому мой вопрос заключается в том, выполняет ли компилятор Swift такую оптимизацию для них?Удаляет ли он невостребованные методы или, что более важно, классы, на которые нет ссылок?
Я скептически отношусь к этому из-за флага компилятора Whole-Module-Optimization, который конкретно указывает, что он оптимизируется только внутри модуля, а не междуих.