Quale struttura dati dovrei usare per implementare un indicizzatore di codice

-2

Ho bisogno di scrivere un indicizzatore di codice base, che deve essere veloce. Dovrei usare un database SQLite incorporato per questo o piuttosto fare affidamento su una struttura dati personalizzata, o anche su file flat come quelli usati da ctags?

Alcuni dei miei requisiti:

  • Trova tutti i riferimenti di una variabile.
  • Vai all'implementazione della funzione
  • ecc ...

Qualsiasi suggerimento di documentazione che spiega la teoria dietro l'indicizzazione del codice (e le strutture di dati rilevanti sarebbero molto apprezzate).

    
posta BigONotation 06.04.2018 - 15:11
fonte

1 risposta

2

Supponendo che tu usi qualcosa di remotamente ragionevole per la struttura dei dati, il fattore limitante sulla tua velocità di solito leggerà e analizzerà il codice sorgente.

Anche se SQLite può funzionare senza dubbio, in questo caso probabilmente hai un numero abbastanza piccolo di "query" pre-progettate da supportare, quindi usare SQL non ti fa guadagnare molto. Prenderò almeno in considerazione qualcosa come LMDB o RocksDB . Questi probabilmente faranno tutto il necessario e sono estremamente veloci e leggeri.

    
risposta data 06.04.2018 - 15:27
fonte

Leggi altre domande sui tag