获取分析功能持续时间的时间(以毫秒为单位)

Vic*_*tor 2 c++ profiling

我有一个写一个文件的函数.我需要用两个参数来分析函数,所以我可以看到差异.(不要告诉我有关Visual Studios Profiling工具的信息,我想自己做).我想申请这样的东西:

double start = getTime();
myFunction("param1");
double request = getTime() - start;
printf_s("Request time: %f", request);
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?(上面有什么只是伪代码,我不知道真正的函数名称)

And*_* DM 16

使用std::chrono,这是一个适用于您的代码的示例:

#include <chrono>
int main()
{
    using milli = std::chrono::milliseconds;
    auto start = std::chrono::high_resolution_clock::now();
    myFunction("param1");
    auto finish = std::chrono::high_resolution_clock::now();
    std::cout << "myFunction() took "
              << std::chrono::duration_cast<milli>(finish - start).count()
              << " milliseconds\n";
}
Run Code Online (Sandbox Code Playgroud)


Ios*_*riu 3

您可以使用:

  1. std ::clock变量并将其除以CLOCKS_PER_SEC以获得秒(需要#include <ctime>
  2. 因为WinAPI您可以使用GetTickCount()并将其除以 1000 以获得秒数。