Как изменить номер параллельной компиляции с Xcode
Как изменить количество параллельных компиляций при сборке проекта C++ с XCode?
Я говорю не о распределенных сборках, а об одновременной компиляции набора исходных файлов из одного проекта на одном компьютере. (в настоящее время используется Xcode 3.2.4)
Спасибо
5 ответов
Настроить PBXNumberOfParallelBuildSubtasks
пользователь по умолчанию, например:
defaults write com.apple.XCode PBXNumberOfParallelBuildSubtasks 6
Для Xcode 4 необходимо установить значение по умолчанию для пользователя IDEBuildOperationMaxNumberOfConcurrentCompileTasks, например:
defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4
Обратите внимание на "дт". Это не повлияет на xcodebuild в командной строке. Чтобы сделать это, используйте что-то вроде
xcodebuild -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=4 ...
(См. http://lists.apple.com/archives/xcode-users/2011/Apr/msg00403.html и http://lists.apple.com/archives/xcode-users/2011/Jul//msg00377.html)
Для справки: разработчики на нашем сайте, использующие XCode 4, обнаружили, что параллельная компиляция отключается, если установлен антивирус McAfee. Сборки, которые должны завершиться через 15-20 минут, заняли почти пять часов, пока McAfee не был удален.
Для сборок из командной строки я протестировал сообщение в списке рассылки 2011 / Jul, которое связал Mimika, и развернул его на нашем сервере сборки (Xcode 4.2, на Snow Leopard) для экономии памяти следующим образом:
defaults write xcodebuild IDEBuildOperationMaxNumberOfConcurrentCompileTasks 1
Я не знаю, почему оно падает с четырех до двух, но я также обнаружил, что выход из Xcode 6, а затем в терминале ввод "по умолчанию написать xcodebuild IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4" вернул меня к четырем при перезапуске Xcode.