将运行时间数据存储在for循环中的数组中

Storing elapsed time data in an array inside a for loop

本文关键字:循环 数组 for 运行时间 数据 存储      更新时间:2023-10-16
#include <iostream>
#include <stack>
#include <ctime>
std::stack<clock_t> tictoc_stack;   
void tic() {
   tictoc_stack.push(clock());
}
void toc() {
   std::cout << "Time elapsed: "
   << ((double)(clock() - tictoc_stack.top())) / CLOCKS_PER_SEC
   << std::endl;
   tictoc_stack.pop();
   dif=(clock() - tictoc_stack.top())    
}
int main()
{
   tic();
   for (k=0;k<10;k++)
   {
     doSomething();
     toc();
     double t[10];
     for(i=0;i<10;i++)
     {
       t[i]=dif;
       std::cout<< "array is" << dif << std::endl;
     }
    }
  return 0;
}

现在,当我调用toc()函数时,它给出了经过的时间。但我希望每次迭代的时间都能进入一个数组。这意味着我将有10个不同的运行时间,我想要得到这些值并计算平均值,最小值,最大值和标准差。

到目前为止,每次循环进行时,我都很难将经过的时间存储在数组中。

任何建议和帮助

tic()一次,这意味着你push一次。但是你toc()多次,这意味着你pop多次