Cosa è più veloce, leggere 100 MB di file o compilare 100 MB di codice?

-5

Voglio generare una scena di test per un unit test (grande parser di file). Cosa sarà più veloce, per avere un file di test e per eseguire I / O su di esso, o per generare un buffer di memoria di grandi dimensioni utilizzando alcuni parametri statici durante la compilazione?

    
posta Sanich 18.03.2018 - 09:46
fonte

1 risposta

3

Dipende.

Se il codice di generazione ha bisogno di un sacco di cicli della CPU, l'uso di un file come cache potrebbe portare vantaggi in termini di prestazioni. In caso contrario, l'utilizzo di un file come archivio intermedio può rallentare le cose. L'unico modo sensato per scoprirlo è provare entrambi e misurare . La risposta dipenderà anche dal tuo hardware e amp; ambiente.

Tuttavia, se hai a disposizione due soluzioni possibili, inizia con quella che è più facile da implementare e controlla se è abbastanza veloce per i tuoi scopi. Se questo è il caso, probabilmente non sarà necessario implementare un metodo ancora più veloce.

Normalmente, mi aspetterei che la soluzione più semplice sia senza cache. Se ciò è vero, ti consiglio di andare in quella direzione, anche se l'altra soluzione potrebbe essere più veloce. Nota quando introduci una cache di file, devi assicurarti di non dimenticare di aggiornare il tuo file ogni volta che cambia il parametro statico o il codice di generazione, il che significa un sovraccarico amministrativo aggiuntivo.

Tuttavia, se hai già molti dati di test sotto forma di file a portata di mano e non hai bisogno di scrivere un generatore per questi dati, prova meglio questa soluzione e controlla se è veloce.

    
risposta data 18.03.2018 - 10:11
fonte

Leggi altre domande sui tag