Ich benutze cscope in vim, um nach Material in einer großen Codebasis zu suchen. Ich finde die "cs f e"
Option zu langsam. Anyway Tipps beschleunigen es. Ich baue meine Cscope-Datenbank mit cscope -bq
Cscope egrep speedup
Antwort
cscope wird nicht beschleunigen grep und egrep mit Datenbank (fast). Dies liegt daran, dass cscope keinen invertierten Index für einen möglichen Teilstring erstellt und auch keine Regex-Beschleunigungsmethode mit einem bestimmten vorberechneten Index verwendet. Die einzige Beschleunigung ist, dass cscope die Funktion grep/egrep nur für Quelldateien ausführt und dies nur beim Vergleich mit grep regex -r .
(das auch die Binärdateien .obj, .exe prüft) beschleunigt wird.
Die Egrep-Funktion kann die cscope-Datenbank nicht verwenden.
Also, verschieben Sie Ihren Code auf lokale fs (aus dem Netzwerk fs), installieren Sie mehr Arbeitsspeicher, deaktivieren Sie das Sortieren über env LC_ALL = C oder LC_ALL = POSIX, deaktivieren Sie atime auf Ihrem fs.
Sie können Ihre fs auch auf SSD oder RAMDISK verschieben.
Danke für die Info. Irgendwie ist opengrok viel schneller für egrep-ähnliche Suchen. Der Code besteht aus ein paar Millionen Codezeilen (hier nur raten, im Grunde möchte ich sagen, ziemlich groß). – kgunjikar
- 1. Wie benutze ich cscope?
- 2. Speedup Matlab zu C++ Konvertierung
- 3. egrep mit dynamischem Ausgang
- 4. Double/Halb invertiert egrep
- 5. Über den Befehl egrep
- 6. C++ - Code analysieren - CSCope
- 7. Unterschied zwischen egrep und grep
- 8. regex Look-Ahead-Verwendung, egrep
- 9. Speedup virtualenv Erstellung mit numpy und Pandas
- 10. Speedup GNU make Build-Prozess - Parallelität?
- 11. Speedup sympy-lamdified und vektorisierte Funktion
- 12. Python SpeedUp: Daten aus mongodb Lesen langsam
- 13. Welche cscope Referenzkarte verwenden Sie?
- 14. Vi + Cscope: mit "cscope finden c-Funktion" in vim, findet mehrere Ergebnisse, wie gehe ich weiter
- 15. Mischen von numerischem Regex mit egrep?
- 16. Suchnummern mit egrep und regulären Ausdruck
- 17. egrep, hol Salz von/etc/shadow
- 18. Rohrleitungen bash Eingabeargumente in egrep regulären Ausdruck
- 19. Wie verwende ich einen Platzhalter in egrep?
- 20. egrep regex Betrieb funktioniert nicht wie erwartet
- 21. Pin Emacs Puffern zu Windows (für Cscope)
- 22. Verwenden von cscope auf MacOS X
- 23. Zeige Multilayer-Funktionsbeziehung von cscope in vim
- 24. egrep Zeilen beginnend mit r und endend mit g
- 25. Listet Dateien mit den gleichen Berechtigungen unter Verwendung von egrep
- 26. Wie kann ich die Sprungfunktion von cscope abbrechen?
- 27. Cscope kann keinen invertierten Index erstellen. Warum? Fein
- 28. Wie setze ich Cscope-> Datenbank-> Init-Verzeichnis setzen
- 29. Wie konfiguriere ich cscope mit aquamacs auf MacOS?
- 30. Wie Cscope absoluten Pfad in cscope.out-Datei verwenden?
Wie groß ist Ihre Codebasis? Wie langsam ist "zu langsam"? Welche Plattform benutzen Sie? Ist Ihr Quellcode auf einem lokalen Dateisystem oder einem Netzwerk-Dateisystem? –