记录运行一段代码需要多少时间,并存储到C++数组中
Recording how much time is required to run a portion of code and store it to an array in C++
需要帮助记录 运行 C++ 代码的几个部分所花费的时间。我需要将这些时间存储到一个数组中以备后用。在 MATLAB 中,我会做这样的事情;
for i=1 : n
tic
this is some stuff I want to run();
array[1,i] = toc;
tic
this is some other stuff I want to run();
array[2,i] = toc;
end
以上将 运行 2 个不同的事物 n 次,并将单独 运行 这些事物所花费的时间存储到二维数组中。
C++ 中是否有等效的东西?
您可以使用 std::chrono::steady_clock::now()
获取当前时间(在您的示例中为 tic)。
您可以在 this answer 中找到更多详细信息。
对于二维数组,一个简单的 std::array<T, n>
where T
is some kind of std::tuple
应该可以解决问题。
需要帮助记录 运行 C++ 代码的几个部分所花费的时间。我需要将这些时间存储到一个数组中以备后用。在 MATLAB 中,我会做这样的事情;
for i=1 : n
tic
this is some stuff I want to run();
array[1,i] = toc;
tic
this is some other stuff I want to run();
array[2,i] = toc;
end
以上将 运行 2 个不同的事物 n 次,并将单独 运行 这些事物所花费的时间存储到二维数组中。
C++ 中是否有等效的东西?
您可以使用 std::chrono::steady_clock::now()
获取当前时间(在您的示例中为 tic)。
您可以在 this answer 中找到更多详细信息。
对于二维数组,一个简单的 std::array<T, n>
where T
is some kind of std::tuple
应该可以解决问题。