2013-04-27 11 views
5

Voglio misurare il tempo di esecuzione di un segmento di codice c utilizzando Linux. Prendo un timestamp all'inizio del segmento di codice e uno alla fine. Ma non so come proteggere il codice dagli IRQ e dai selettori di contesto alle attività precedenti. Il programma viene eseguito nello spazio utente! Il segmento di codice è breve, quindi non fatevi prendere dal panico.Tempo di esecuzione codice misura C (Linux)

Qualcuno sa una soluzione facile per questo tipo di protezione?

+0

Quale problema significativo stai cercando di risolvere? – Sebivor

+0

avviso quando si esegue il rollover sul tag "time-mea ..", ci sono 0 follower. Esistono tag per test e prestazioni che hanno più follower. In bocca al lupo. – shellter

+1

Non c'è modo per lo spazio codice utente di fare cose del genere. Probabilmente, la cosa migliore che potresti fare è misurare 10000 volte e prendere la media. Il contrario sarebbe emulare la CPU. Inoltre puoi misurare altre cose rispetto al tempo. – Powerslave

risposta

3

È possibile utilizzare getrusage(2) per ottenere il tempo della CPU utilizzato, piuttosto che misurare solo in tempo reale. Questo dovrebbe darti la risposta che desideri senza dover ricorrere a affari divertenti come bloccare l'esecuzione di altri programmi.

+0

Grazie mille, questo è esattamente quello che stavo cercando! – Fox0815

Problemi correlati