Мне нужно вычислить время выполнения кода кода С++ за считанные секунды. Он должен работать как на Windows, так и на Unix-машинах.
Я использую код для этого кода. (импорт до этого)
clock_t startTime = clock();
// some code here
// to compute its execution duration in runtime
cout << double( clock() - startTime ) / (double)CLOCKS_PER_SEC<< " seconds." << endl;
Однако для небольших входов или коротких операторов, таких как a = a + 1, я получаю результат "0 секунд". Я думаю, что это должно быть что-то вроде 0,0000001 секунд или что-то в этом роде.
Я помню, что System.nanoTime()
в Java работает очень хорошо в этом случае. Однако я не могу получить такую же точную функциональность из clock()
функции С++.
У вас есть решение?