Ho una competizione amichevole con un paio di ragazzi nel campo della programmazione e recentemente siamo diventati così interessati a scrivere codice efficiente. La nostra sfida era cercare di ottimizzare il codice (in termini di tempo e complessità della CPU) ad ogni costo (leggibilità, riusabilità, ecc.).Come confrontare le prestazioni di due pezzi di codici
Il problema è che ora dobbiamo confrontare i nostri codici e vedere quale approccio è migliore rispetto agli altri, ma non conosciamo nessuno strumento per questo scopo.
La mia domanda è, ci sono alcuni (qualsiasi!) Strumenti che prende un pezzo di codice come input e calcola il numero di flop o di istruzioni della CPU necessarie per l'esecuzione di esso? C'è qualche strumento in grado di misurare l'ottimizzazione di un codice?
P.S. La lingua di destinazione è C++, ma sarebbe bello sapere se tali strumenti esistono anche per java.
+1 per la parola "ottimizzazione". È sufficiente eseguire 'time./Prog'? –
@KerrekSB Credo che OP voglia un profiler. –
Non penso che contare il flop o le istruzioni della CPU sia una buona misura dell'efficienza. [È facile dare uno schiaffo al codice artificiale del nulla-fare che può arrivare al massimo.] (Http://stackoverflow.com/questions/8389648/how-to-achieve-4-flops-per-cycle) – Mysticial