Jak wyłączyć indeksowanie w Xcode 4?

90

Niedawno zaktualizowałem Xcode do wersji 4. Ta nowa wersja spędzała dużo czasu na indeksowaniu projektu (jest dość duży). Dlatego chciałbym wyłączyć indeksowanie. Przeszukiwanie pomocy Xcode i internetu nie dało żadnych rezultatów.

FarMiaplacidus
źródło

Odpowiedzi:

108

Otwórz okno terminala i wklej to polecenie:

defaults write com.apple.dt.XCode IDEIndexDisable 1

Stracisz niektóre funkcje (autouzupełnianie, skok do definicji, niektórzy asystenci nie będą działać poprawnie). Ale odzyskasz pamięć RAM i procesor.

W moim projekcie Xcode przeszedł z użycia 2 gigów do kilkuset MB. (z którym bardzo potrzebowałem się skompilować;))

Dave
źródło
To rozwiązało również problem dla mnie. W ramach projektu o średniej wielkości pewnego dnia XCode 4 zdecydował się zjeść 10 GB pamięci wirtualnej, mam tylko 4 GB fizycznej i siedziałem tam wirując przez 5 minut. Za każdym razem, gdy próbowałem ponownie uruchomić XCode, robiłem to samo. Usunięto plik obszaru roboczego, nadal to samo. Wyłączenie indeksowania za pomocą tego polecenia rozwiązało problem.
clemahieu
11
Łał. Utrata możliwości wyświetlenia szybkiej pomocy przez kliknięcie nazwy klasy lub metody jest pewnego rodzaju przeszkodą dla produktywności. Xcode 4 jest do bani po królewsku :( ... jednak dobra odpowiedź.
Nate,
4
Hahahaha, dla mnie serial już się zatrzymał. Kiedy dodałem bibliotekę C ++ Eigen, indeksator całkowicie się zakrztusił, a wszystkie skoki do definicji itp. Przestały działać, nawet podczas krótkich chwil, gdy przestał indeksować. Poważnie, czy w ogóle testują to oprogramowanie…
Potatoswatter
Trudno jest opisać poprawę po wyłączeniu indeksowania na moim Mac Pro. Teraz mogę swobodnie przeglądać mój projekt. Wstępne wyłączenie, po prostu wpisanie jednego znaku zajęło kilka sekund.
ArtHare
Łał fantastycznie! Kiedy i tak używasz Vima jako edytora, jest to idealne.
elimirks
8

Zmniejszenie priorytetu procesu XCode pomaga:

renice 10 -p PID

Możesz uzyskać PID z Monitora aktywności lub poleceń top / ps.

Peter Tseng
źródło
2
To nie pomoże, jeśli problemem jest użycie pamięci. Xcode nadal będzie zużywać taką samą ilość pamięci; po prostu będzie go używać dłużej.
Peter Hosey
1
To prawda, ale zwalnia cykle procesora na inne zadania. Na razie przełączyłem się z powrotem na XCode 3, ale kiedyś będę musiał spróbować 4 z wyłączonym indeksowaniem.
Peter Tseng,
7

Ten problem został zauważony na tej grupie dyskusyjnej :

Wydaje się, że sedno polega na tym, że XCode4 zużywa szalone ilości pamięci RAM podczas indeksowania - około 5 GB (!), A więc jeśli jesteś na maszynie z czymś w rodzaju 12 GB, nie ma problemu, ale jeśli jesteś na laptop z zaledwie 2 GB lub więcej, będziesz mieć dość poważne stronicowanie.

Domyślam się, że wszyscy wewnętrzni inżynierowie Apple'a robili wszystko, co w ich mocy.

Richard Kettering
źródło
Niestety, wydaje się to być prawdą! Można by pomyśleć, że mogą w jakiś sposób zmniejszyć wymagania dotyczące pojemności pamięci. Dzieje się tak, że w komputerze zabraknie pamięci podstawowej i rozpocznie się wymiana. Niezbyt przyjemne, nawet z dyskiem SSD.
lericson
1

Napotkałem albo ten sam problem, albo coś podobnego. Mój projekt zawiera mocno szablonowy C ++. Dołączenie tych nagłówków do pliku PCH rozwiązało problem.

Damian Carrillo
źródło
1
Ponadto usunięcie katalogu specyficznego dla aplikacji w ~ / Library / Xcode / DerivedData / pozwoliłoby Xcode na ponowne zindeksowanie. Pomogłoby to w tej sytuacji, ponieważ indeksowanie wydawało się po cichu zawodzić i nie było możliwe przywrócenie sprawności.
Damian Carrillo
1

Mój nowy siatkówkowy Macbook pro z XCode 4 bardzo wolno indeksował (i wszystko inne). Mój domowy Mac mini bardzo szybko pracował nad tym samym projektem !? Okazuje się, że to było moje oprogramowanie antywirusowe - skanowałem każdy odczytany lub zapisany plik na MacBooku. Wyłączenie tego przyspieszyło wszystko o tonę.

Jim
źródło
0

Powolne indeksowanie nie jest dane. A więcej pamięci niekoniecznie jest lepsze.

Mam średni projekt do pracy ~ 500 plików źródłowych. Po usunięciu danych pochodnych ukończenie ponownego indeksowania tego projektu zajmuje 18 minut. Dzieje się tak, ponieważ żadne inne aplikacje nie są otwarte i nie robią nic innego z komputerem. To jest na dość nowym Macbooku Pro z pamięcią 8G i i7. Okropne, prawda?

Mój komputer domowy to najnowszy Mac Mini z pamięcią 4G i i5. Na tej maszynie ten sam projekt zajmuje 40 sekund, aby całkowicie zindeksować.

Jeszcze nie wiem, jaka jest różnica, ale pracuję nad tym.

dar512
źródło
Czy kiedykolwiek zastanawiałeś się, dlaczego Macbook Pro zajmuje tak dużo czasu? Wydaje mi się, że mam ten sam problem.
chown
Przepraszam, że jest późno, właśnie to zauważyłem. Tak, to był program antywirusowy Norton. Po usunięciu czasy były spektakularnie lepsze. Nasza firma od tego czasu przeniosła się do Clam.
dar512
-7

Nie można wyłączyć indeksowania w Xcode 4. Wiele funkcji środowiska IDE jest zbudowanych na podstawie indeksu, który utrzymuje.

Chris Hanson
źródło