我在 Qt 中调用argon2 - 内存密集型散列函数并测量其运行时间:
...
QTime start = QTime::currentTime();
// call hashing function
QTime finish = QTime::currentTime();
time = start.msecsTo(finish) / 1000.0;
...
在 argon2 库的测试用例中,时间以另一种方式测量:
...
clock_t start = clock();
// call hashing function
clock_t finish = clock();
time = ((double)finish - start) / CLOCKS_PER_SEC;
...
我完全按照他们在测试用例中调用的方式调用该函数。但是我得到了两倍大的数字(慢了两倍)。为什么?如何在 Qt 中测量函数运行时间?什么时钟()实际测量?
环境: virtualBox,Ubuntu14.04 64bit,Qt5.2.1,Qt Creator 3.0.1。