Wyszukiwanie plików źródłowych w projekcie
Użyj prostszego polecenia
Ogólnie rzecz biorąc, źródło projektu prawdopodobnie znajduje się w jednym miejscu, być może w kilku podkatalogach zagnieżdżonych nie więcej niż dwa lub trzy głębokie, więc możesz użyć (prawdopodobnie) szybszego polecenia, takiego jak
(cd /path/to/project; ls *.c */*.c */*/*.c)
Skorzystaj z metadanych projektu
W projekcie C zazwyczaj masz plik Makefile. W innych projektach możesz mieć coś podobnego. Mogą to być szybki sposób na wyodrębnienie listy plików (i ich lokalizacji), napisanie skryptu, który wykorzystuje te informacje do zlokalizowania plików. Mam skrypt „źródeł”, dzięki czemu mogę pisać polecenia takie jak grep variable $(sources programname)
.
Przyspieszenie wyszukiwania
Wyszukaj mniej miejsc, zamiast find / …
używać find /path/to/project …
tam, gdzie to możliwe. Uprość kryteria wyboru w jak największym stopniu. Użyj potoków, aby odroczyć niektóre kryteria wyboru, jeśli jest to bardziej wydajne.
Możesz także ograniczyć głębokość wyszukiwania. Dla mnie to znacznie poprawia szybkość „znajdowania”. Możesz użyć przełącznika -maxdepth. Na przykład „-maxdepth 5”
Przyspieszenie zlokalizować
Upewnij się, że indeksuje lokalizacje, które Cię interesują. Przeczytaj stronę podręcznika i skorzystaj z opcji odpowiednich dla twojego zadania.
-U <dir>
Create slocate database starting at path <dir>.
-d <path>
--database=<path> Specifies the path of databases to search in.
-l <level>
Security level. 0 turns security checks off. This will make
searchs faster. 1 turns security checks on. This is the
default.
Usuń potrzebę wyszukiwania
Może szukasz, bo zapomniałeś, gdzie coś jest lub nie zostało powiedziane. W pierwszym przypadku pisz notatki (dokumentację), w drugim pytaj? Konwencje, standardy i spójność mogą bardzo pomóc.
locate
powinien już być dość szybki, biorąc pod uwagę, że korzysta z gotowego indeksu (głównym zastrzeżeniem jest to, że musi być aktualizowany), podczas gdyfind
musi czytać katalogi.