Я зову Argon 2 хэширования функции в Qt и измерение его выполнения:
Как измерить время работы функции в Qt?
...
QTime start = QTime::currentTime();
// call hashing function
QTime finish = QTime::currentTime();
time = start.msecsTo(finish)/1000.0;
...
В тест случае время Argon 2 библиотеки измеряется по-другому:
...
clock_t start = clock();
// call hashing function
clock_t finish = clock();
time = ((double)finish - start)/CLOCKS_PER_SEC;
...
Я звоню функцию точно так, как они звонят в свой тестовый пример. Но я получаю в два раза больше (в два раза медленнее). Зачем? Как измерить время работы функции в Qt? Какие часы() реально измеряет?
env: virtualBox, Ubuntu14.04 64bit, Qt5.2.1, Qt Creator 3.0.1.
Возможный дубликат [C++/Qt - вычисление времени] (http://stackoverflow.com/questions/9943439/c-qt-computation-time) – PsiX
Незнайка, что это "Argon 2" Дело в том, но он не выглядит слишком адекватным ... Правильный способ сделать это - использовать 'QElapsedTimer', который тривиально использовать и как можно точнее, учитывая вашу платформу. – dtech
@PsiX отредактирован. Я хотел узнать причину разницы между временами – Bobur