2013-04-27 3 views
5

Ich möchte die Ausführungszeit eines C-Code-Segments mit Linux messen. Ich nehme einen Zeitstempel am Anfang des Codesegments und einen am Ende. Aber ich weiß nicht, wie man den Code vor IRQs und Kontextwechsel zu hohen vorherigen Aufgaben schützt. Das Programm läuft im Userspace! Das Code-Segment ist kurz, also keine Panik, das System zu verspritzen.Messen C-Code-Ausführungszeit (Linux)

Kennt jemand eine einfache Lösung für diese Art von Schutz?

+0

Welches sinnvolle Problem versuchen Sie zu lösen? – Sebivor

+0

Beachten Sie, wenn Sie auf Ihrem Tag 'time-mea ..' rollen, gibt es 0 Follower. Es gibt Tags zum Testen und zur Leistung, die mehr Follower haben. Viel Glück. – shellter

+1

Es gibt keine Möglichkeit für User Space Code, solche Sachen zu machen. Wahrscheinlich ist das Beste, was Sie tun können, wie 10000 Mal zu messen und den Durchschnitt zu nehmen. Umgekehrt würde man die CPU emulieren. Sie könnten auch andere Dinge als die Zeit messen. – Powerslave

Antwort

3

Sie können getrusage(2) verwenden, um die CPU-Zeit zu ermitteln, anstatt nur Echtzeit zu messen. Das sollte Ihnen die Antwort geben, die Sie wollen, ohne auf lustige Dinge zurückgreifen zu müssen, wie das Blockieren anderer Programme.

+0

Vielen Dank, das ist genau das, was ich gesucht habe! – Fox0815