Confronto delle prestazioni di diverse strutture di dati ad albero autoprodotte in C ++

0

Ho due strutture di dati ad albero che ho creato in C ++ e danno una risposta per query di intervallo / query di punti in quel programma. Sto usando Ubuntu . Ho bisogno di aiuto per capire come confrontare le prestazioni di queste due strutture dati (per rispondere alla query in quel programma) nella memoria esterna. Come posso fare questo?

Ho cercato molto su Internet, e non ho trovato nessuna idea chiara su come è fatto. So che posso misurare il disco I / O , consumo di memoria, CPU utilizzo, ecc. utilizzando dstat di Ubuntu e < a href="http://en.wikipedia.org/wiki/Iostat"> iostat comandi. Ho bisogno di un modo accurato e professionale per farlo.

    
posta coder 13.07.2013 - 07:22
fonte

1 risposta

3

Scrivi un programma di test eseguendo lo stesso insieme di query sullo stesso set di dati utilizzando la prima o la seconda struttura dati. Misurare il tempo di esecuzione per entrambi gli scenari. Confronta.

Ovviamente, dovresti assicurarti che le tue query di prova siano rappresentative del tipo di query che potresti dover eseguire in produzione. E dovresti fare il numero di query abbastanza grande da essere sicuro di misurare effettivamente il tempo di esecuzione delle query (e non il tempo di avvio del tuo programma di test, per esempio).

EDIT: al tuo commento: per ottenere informazioni sull'IO del disco o sul consumo di memoria, penso che potresti esaminare Linux" / proc "filesystem e controlla se contiene ciò che stai cercando. Ad esempio, /proc/<your process id here>/smaps ti dà l'utilizzo della memoria.

    
risposta data 13.07.2013 - 10:03
fonte

Leggi altre domande sui tag