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


90

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

Ответы:


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 секунд.

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


Вы когда-нибудь понимали, почему на Macbook Pro так много времени? Кажется, у меня такая же проблема.
chown

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

-7

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.