L’efficienza di un software è la capacità del software (in particolare di un algoritmo) di utilizzare meno risorse informatiche possibile. Principalmente vengono considerati solo due fattori: Il tempo di utilizzo della CPU Lo spazio occupato dal programma e dai dati in memoria L’altro fattore, spesso non dipendente dalla programmazione del software, sono i tempi di latenza delle periferiche, in particolare dell’hard disk.