Sto cercando di scrivere un programma di benchmark veloce che possa essere compilato ed eseguito su varie macchine. Piuttosto che usare le opzioni commercialmente/open-sourly disponibili, preferirei che fosse il mio a giocare con le tecniche di ottimizzazione del thread e dell'algoritmo.Quali sono alcune operazioni che richiedono molto tempo in C?
Ho un paio che uso già, che include ricorsivamente il calcolo dell'ennesimo numero della sequenza di Fibonacci, e di seeding/rand() in poche migliaia di volte.
Esistono altri algoritmi relativamente semplici, ma allo stesso tempo intensi di calcolo (e possibilmente correlati alla matematica)?
(Si noti che queste operazioni saranno attuate nel linguaggio C.)
Allora, cosa vuoi fare un punto di riferimento? Prestazioni intere? Virgola mobile? Velocità di accesso alla RAM? La dimensione e la velocità dei vari livelli di cache? L'unica cosa che posso vedere è che non ti interessa I/O (che probabilmente domina per i compiti che la maggior parte delle persone fa). – starblue
Qualsiasi e tutte le precedenti. :) –