peso delle funzioni

Stavo facendo una prova con il mio arduino impegnato nella lettura analogRead, e visto che avevo fretta, ho fatto un programma da schifo, facevo tipo 16 letture di seguito e il programma ovviamente non rispondeva in tempo. Ho cercato un po sul forum ed ho scoperto che la funzione in oggetto pesa per 0,0001 secondi. Allora, visto che ogni funzione ha il suo peso in termini di tempo per elaborazione vorrei sapere se c'è un elenco di tempi per le funzioni, del tipo è meglio un array o una serie di variabili singole; una select case pesa più di una if etc... sapere se e dove posso ottimizzare il codice o eventualmente una classifica delle funzioni ordinata per velocità oppure un metodo di calcolo per capire quanto pesano le mie funzioni. Saluti a tutti Jimi Dini

Se ti servono timing ben precisi mi viene in mente solamente di misurare in qualche modo sperimentalmente il tempo impegnato dalle funzioni.

Non credo esista una tabella del genere, ad ogni revisione del codice di libreria o a ogni nuova versione del compilatore andrebbero rifatte le misurazioni, sarebbe abbastanza impegnativo mantenerla.. con le istruzioni assembly dovresti avere più controllo sui tempi, quasi ogni istruzione viene eseguita in un ciclo di clock.

La domanda però è: perchè affarsi tanto per dei microsecondi? Magari spendendo ore di tempo...