Como calcular o tempo de execução de um trecho de código em C ++

Eu tenho que calcular o tempo de execução de um trecho de código C ++ em segundos. Deve estar funcionando em máquinas Windows ou Unix.

Eu uso o código do código a seguir para fazer isso. (importar antes)

clock_t startTime = clock();
// some code here
// to compute its execution duration in runtime
cout << double( clock() - startTime ) / (double)CLOCKS_PER_SEC<< " seconds." << endl;

No entanto, para pequenas entradas ou declarações curtas, como a = a + 1, recebo o resultado "0 segundos". Eu acho que deve ser algo como 0,0000001 segundo ou algo parecido.

eu lembro dissoSystem.nanoTime() em Java funciona muito bem neste caso. No entanto, não consigo obter a mesma funcionalidade exataclock() função de C ++.

Você tem uma solução?

questionAnswers(16)

yourAnswerToTheQuestion