Как измерить время, необходимое для выполнения фрагмента кода?

Предположим, я хочу измерить время, которое кусок кода занимает. Для этого я обычно делаю что-то вроде этого

clock_t startTime = clock();
//do stuff
//do stuff
//do stuff
//do stuff
float secsElapsed = (float)(clock() - startTime)/CLOCKS_PER_SEC;

. Что, если программа является многопоточной и переключение контекста происходит внутри той части, которую я хочу измерить? Как мне измерить время, необходимое для выполнения моего кода, за исключением времени, затраченного на другие потоки? Даже если есть инструменты, которые это делают, мне бы очень хотелось узнать , как они это делают.

7
задан Armen Tsirunyan 2 February 2012 в 13:44
поделиться