SourceKitService высасывает память и останавливает все процессы

У меня много проблем с глупым SourceKitService. Иногда он занимает около 20 ГБ памяти и просто означает, что мой ноутбук почти бесполезен, он такой медленный. Я использую xCode 6.4 и работаю в Swift. Я работаю над большим проектом, поэтому я уверен, что это усугубляет проблему.

Но мне было просто интересно, нашел ли кто-нибудь способ укротить чудовище SourceKit и не дать ему выйти из-под контроля и забрать всю мою память?

1 ответ

Я столкнулся с этой проблемой в XCode 7, и она все еще присутствовала после обновления до XCode 8. В моем случае я сузил ее до небольшого кода, который вызывает оболочку базы данных (GRDB), например так:

db.execute(sqlStatement,arguments:["ParamNameA":someValueA,"ParamNameB":someValueB]);

Если количество элементов в словаре аргументов превышает 20, использование памяти SourceKitService сходит с ума (15 ГБ или более), а время компиляции превышает 10 минут. Если количество элементов меньше или равно 20, использование памяти SourceKitService составляет менее 200 МБ, а время компиляции составляет пару секунд.

Я бы предложил поискать фрагменты кода со словарем, содержащим более 20 элементов, и прокомментировать их, чтобы выяснить, исчезла ли проблема.

Другие вопросы по тегам