Як вимкнути індексацію в Xcode 4?


90

Нещодавно я оновив Xcode до версії 4. Ця нова версія витратила багато часу на індексацію проекту (він досить великий). Ось чому я хотів би відключити індексацію. Пошук за допомогою довідки Xcode та Інтернету не дав результатів.

Відповіді:


108

Відкрийте вікно терміналу та вставте цю команду:

defaults write com.apple.dt.XCode IDEIndexDisable 1

Ви втратите деякі функції (автозаповнення, перехід до визначення, деякі асистенти працюватимуть неправильно). Але ви отримаєте назад оперативну пам'ять і процесор.

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


Це вирішило проблему і для мене. У проекті середнього розміру одного дня XCode 4 вирішив з’їсти 10 Гб віртуальної пам’яті, я маю лише 4 ГБ фізичної інформації і просидів там, обертаючись 5 хвилин. Кожного разу, коли я намагався запустити XCode знову, він робив те саме. Видалив файл робочої області, все те ж саме. Вимкнення індексації за допомогою цієї команди вирішило проблему.
clemahieu

11
Ого. Втрата можливості показувати швидку допомогу, натиснувши назву класу або методу, є свого роду показником для підвищення продуктивності. Xcode 4 відчайдушно :( ... все ж хороша відповідь.
Нейт,

4
Ха-ха-ха-ха, для мене шоу вже зупинилося. Коли я додав власну бібліотеку C ++, індексатор повністю задихнувся, і всі переходили до визначення тощо, навіть перестали працювати, навіть у короткі моменти, коли він перестав індексувати. Серйозно, вони взагалі тестують це програмне забезпечення ...
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 усі розгойдували максимізованих професіоналів Mac чи щось інше.


На жаль, це, здається, дуже правда! Можна подумати, що вони могли б якось зменшити вимоги до ємності пам'яті. Що трапляється, це те, що на вашому комп’ютері закінчується основна пам’ять і починається обмін. Неприємно, навіть із твердотільним диском.
lericson

1

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


1
Крім того, видалення специфічного для програми каталогу в ~ / Library / Xcode / DerivedData / дозволить Xcode переіндексувати. Це допомогло б ситуації, оскільки, здавалося, індексація мовчки не вдалася і не могла відновитись.
Damian Carrillo

1

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


0

Повільна індексація не є даною. І більше пам’яті не обов’язково краще.

У мене середній проект для роботи ~ 500 вихідних файлів. Після видалення похідних даних потрібно 18 хвилин, щоб завершити переіндексацію цього проекту. Це не означає, що інші програми не відкриті і не роблять нічого іншого з комп’ютером. Це на досить недавньому Macbook Pro з 8G пам’яті та i7. Жахливо, правда?

Моя домашня машина - це недавній Mac Mini з 4G пам’яті та i5. На цій машині точно той самий проект займає 40 секунд, щоб повністю проіндексувати.

Я ще не знаю, в чому різниця, але я працюю над цим.


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

Вибачте, це пізно, я просто це помітив. Так, це було, це була перевірка вірусу Нортона. Після того, як його було видалено, часи були вражаюче кращими. З тих пір наша компанія переїхала в молюск.
dar512

-7

Неможливо вимкнути індексацію в Xcode 4. Багато функцій IDE побудовано поверх індексу, який він підтримує.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.