Как отключить индексацию в Xcode 4?

90

Не так давно я обновил Xcode до версии 4. Эта новая версия потратила много времени на индексацию проекта (он довольно большой). Вот почему я хотел бы отключить индексацию. Поиск в справке Xcode и в Интернете не дал результатов.

FarMiaplacidus
источник

Ответы:

108

Откройте окно терминала и вставьте эту команду:

defaults write com.apple.dt.XCode IDEIndexDisable 1

Вы потеряете некоторые функции (автозаполнение, переход к определению, некоторые помощники не будут работать правильно). Но вы получите обратно RAM и CPU.

Для моего проекта Xcode перешел от 2 гигабайт до нескольких сотен мегабайт. (с которым мне очень нужно было скомпилировать;))

Дэйв
источник
Это также устранило проблему для меня. Однажды в проекте среднего размера XCode 4 решил съесть 10 ГБ виртуальной памяти, у меня только 4 ГБ физической, и я сидел там и крутил 5 минут. Каждый раз, когда я снова пытался запустить XCode, он делал то же самое. Удалил файл рабочей области, все то же самое. Отключение индексации с помощью этой команды решило проблему.
clemahieu
11
Вау. Утрата возможности отображать быструю справку при нажатии на имя класса или метода является своего рода препятствием для повышения производительности. Xcode 4 отстой по-королевски :( ... хороший ответ, тем не менее.
Нейт
4
Хахахаха, для меня шоу уже остановилось. Когда я добавил библиотеку C ++ Eigen, индексатор полностью завис, и все переходы к определению и т. Д. Перестали работать, даже в те краткие моменты, когда он перестал индексировать. Серьезно, они вообще тестируют это программное обеспечение…
Potatoswatter
Сложно описать улучшение после отключения индексации на моем Mac Pro. Теперь я могу свободно просматривать свой проект. До отключения требовалось несколько секунд, чтобы просто ввести один символ.
ArtHare
Вау, круто! В любом случае, когда вы используете vim в качестве редактора, это прекрасно.
elimirks
8

Снижение приоритета процесса XCode помогает:

renice 10 -p PID

Вы можете получить PID из монитора активности или команд top / ps.

Питер Ценг
источник
2
Это не поможет, если проблема в использовании памяти. Xcode по-прежнему будет потреблять тот же объем памяти; он просто будет использовать его дольше.
Питер Хози
1
Верно, но это освобождает циклы ЦП для других задач. Я пока вернулся к XCode 3, но когда-нибудь мне придется попробовать 4 с отключенной индексацией.
Питер Ценг
7

Эта проблема была замечена в этой группе новостей :

Суть, похоже, в том, что XCode4 использует безумное количество оперативной памяти во время индексации - например, 5 ГБ или около того (!), И поэтому, если вы находитесь на машине с чем-то вроде 12 ГБ, проблем нет, но если вы используете ноутбук только с 2 ГБ или около того, у вас будет довольно серьезная подкачка.

Я предполагаю, что все внутренние инженеры Apple были на высоте макинтошами или чем-то в этом роде.

Ричард Кеттеринг
источник
К сожалению, это кажется правдой! Можно было подумать, что они могут каким-то образом снизить требования к объему оперативной памяти. Что происходит, так это то, что на вашем компьютере заканчивается основная память и начинается подкачка. Не приятно даже с SSD.
lericson
1

Я столкнулся либо с той же проблемой, либо с чем-то похожим. Мой проект включает сильно шаблонный C ++. Включение этих заголовков в файл PCH решило для меня проблему.

Дамиан Каррильо
источник
1
Кроме того, удаление каталога для конкретного приложения в ~ / Library / Xcode / DerivedData / позволит Xcode переиндексировать. Это помогло бы в ситуации, потому что индексация, казалось, молча терпела неудачу и не могла быть восстановлена.
Дамиан Каррильо,
1

Мой новый Retina Macbook Pro с XCode 4 очень медленно выполнял индексацию (и все остальное). Мой Mac mini дома очень быстро работал над одним и тем же проектом !? Оказалось, что это была моя антивирусная программа - сканирование каждого файла, прочитанного или записанного на MacBook. Его выключение ускорило все на тонну.

Джим
источник
0

Медленное индексирование - это недопустимо. И больше памяти не обязательно лучше.

У меня проект среднего размера для работы ~ 500 исходников. После удаления производных данных для завершения переиндексации этого проекта потребуется 18 минут. Это при том, что никакие другие приложения не открываются и больше ничего не делается с компьютером. Это относительно недавний Macbook Pro с 8 ГБ памяти и i7. Ужасно, правда?

Моя домашняя машина - недавний Mac Mini с памятью 4G и i5. На этой машине для полной индексации того же проекта требуется 40 секунд.

Пока не знаю, в чем разница, но над этим работаю.

dar512
источник
Вы когда-нибудь понимали, почему на Macbook Pro так много времени? Кажется, у меня такая же проблема.
chown
Извините, это поздно, я только что это заметил. Да, это была антивирусная программа Norton. После того, как он был удален, времена стали намного лучше. С тех пор наша компания переехала в Клам.
dar512
-7

Невозможно отключить индексацию в Xcode 4. Многие функции IDE построены на основе индекса, который она поддерживает.

Крис Хэнсон
источник