Podrías copiar tu base de código en un disco RAM.
Indización de texto completo
Hay herramientas como recordar, swish-e y sphinx, pero tendrías que comprobar si son compatibles con el tipo de criterio de búsqueda que necesitas.
Recordar
Recoll es una herramienta personal de búsqueda de texto completo para Unix/Linux.
Swish-e
Swish-e es un sistema de código abierto rápido, flexible y gratuito para indexar colecciones de páginas web u otros archivos.
Esfinge
Sphinx le permite indexar por lotes y buscar datos almacenados en una base de datos SQL, almacenamiento NoSQL o simplemente archivos de forma rápida y sencilla
grep
Me sorprende que grep sea tan lento como lo describe, ¿puede reducir la cantidad de archivos que se buscan? Por ejemplo, cuando solo necesito buscar los archivos de origen para un ejecutable (de muchos en un proyecto), introduzco grep en los nombres de un comando que enumera los archivos de origen para ese programa:
grep expression `sources myprogram`
sources
es un programa específico para mi entorno de desarrollo, pero es posible que tenga (o pueda construir) algo equivalente.
Supongo que has probado técnicas obvias como
find /foo/myproject -name "*.c" -exec fgrep -l searchtext
He leído una sugerencia de que el -P
opción de grep
actual puede acelerar significativamente las búsquedas.
¿Qué hay de cscope? ¿Esto combina con tus zapatos?
Permite buscar código para:
- todas las referencias a un símbolo
- definiciones globales
- funciones llamadas por una función
- funciones llamando a una función
- cadena de texto
- patrón de expresión regular
- un archivo
- archivos que incluyen un archivo