Jak mogę zmierzyć czas procesora i czas zegara ściennego w systemie Linux / Windows?
Mam na myśli: jak mogę zmierzyć czas, jaki mój procesor spędził na wykonywaniu funkcji i czasie zegara ściennego potrzebnym do uruchomienia mojej funkcji? (Jestem zainteresowany Linuksem / Windows i zarówno x86, jak i x86_64). Zobacz, co chcę zrobić (Im używa C ++ tutaj, ale wolałbym rozwiązanie C):
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";
Kolejne ważne pytanie: czy ten czas mierzy architekturę niezależnie, czy nie?