Wie kann ich die CPU-Zeit und die Wanduhrzeit unter Linux / Windows messen?

Ich meine: Wie kann ich die Zeit messen, die meine CPU für die Funktionsausführung aufgewendet hat, und die Zeit, die die Wanduhr benötigt, um meine Funktion auszuführen? (Ich interessiere mich für Linux / Windows und x86 und x86_64). Sehen Sie, was ich tun möchte (ich verwende C ++ hier, aber ich würde C-Lösung bevorzugen):

int startcputime, endcputime, wcts, wcte;

startcputime = cputime();
function(args);
endcputime = cputime();

std::cout << "it took " << endcputime - startcputime << " s of CPU to execute this\n";

wcts = wallclocktime();
function(args);
wcte = wallclocktime();

std::cout << "it took " << wcte - wcts << " s of real time to execute this\n";

Eine weitere wichtige Frage: Ist diese Art der Zeitmessung von der Architektur unabhängig oder nicht?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage