Nwlapcug.com


Come confrontare gli algoritmi informatici

Gli sviluppatori di software bilanciare molti fattori durante la creazione di applicazioni e siti Web. Nei primi giorni, quando i computer avevano poca memoria e risorse, la dimensione e la velocità sono state le principali preoccupazioni. Oggi, con processori multi-core e gigabyte di memoria, complessità e la manutenibilità spesso ignorare le prestazioni. Ecco alcuni dei principali fattori da considerare quando si sceglie gli algoritmi giusti per il vostro progetto.

Istruzioni

1

Misurare le prestazioni. Il primo fattore che viene sempre in mente quando si misura un algoritmo è velocità. Non si vuole attendere software lento. Ci sono diversi modi per determinare quale algoritmo suonerà meglio per il compito a portata di mano. Un algoritmo può essere misurato manualmente contando le istruzioni, utilizzando le probabilità per determinare i percorsi di esecuzione. Ancora più facile sono i profiler che contano cicli macchina durante l'esecuzione del codice.

2

Confrontare le dimensioni del codice. Anche se non abbastanza importante quanto le prestazioni, le dimensioni del codice a volte diventare un fattore. Software embedded e mobile apps spesso la necessità di condividere la stessa memoria limitata e basata su browser codice richiede tempo per scaricare. A volte un piccolo colpo in prestazioni possono essere sacrificate per radere una quantità significativa di codice.

3

Determinare il livello di complessità. Gli sviluppatori di software più commerciali scrivano codice distribuito su PC desktop o server web con un sacco di potenza di elaborazione e memoria più che sufficiente. Oggi, la sfida più grande è nella gestione della complessità. Un'applicazione abbastanza semplice business può spesso avere ovunque da poche decine di diversi moduli di codice centinaia, ognuno con diverse centinaia di righe di codice. In queste applicazioni, i migliori algoritmi sono semplici da capire e facile da implementare. Per misurare la complessità, contare il numero di punti di decisione, chiamate di funzione, numero di variabili e la complessità delle strutture di dati.

4

Confrontare la manutenibilità. Strettamente accoppiato con complessità è manutenibilità. Un algoritmo con complessità minore, ha presentato con un sacco di spazi vuoti e generosamente cosparso di ben scritti commenti, sarà molto più facile da modificare quando le esigenze cambiano. Maggior parte degli sviluppatori trascorrere molto più tempo mantenere e modificare il codice esistente di quanto facciano creazione nuovo software.

5

Convalida per correttezza. Spesso trascurato in una discussione di algoritmi è la necessità di un algoritmo appropriato che soddisfa tutti i requisiti e funziona correttamente. Il codice deve restituire risultati accurati per ingressi tra cui le condizioni al contorno e valori imprevisti. I filtri devono essere presenti per rifiutare i dati male e codice gestione delle eccezioni deve rispondere a overflow numerico, underflow, guasti di rete o altre condizioni.

6

Scegliere l'algoritmo più adatto. La scelta migliore equilibra tutti questi fattori in modo da ottimizzare le prestazioni, riducendo i costi di sviluppo e proprietà.