我需要做以下事情:
这是我的代码:
用户环境
#include <time.h>
#include <iostream>
using namespace std;
void func1();
void func2();
void func3();
int main()
{
for (i = 0; i < 100000; i++)
{
func1();
func2();
func3();
}
}
实施
void func1()
{
int static my_array[1000];
}
void func2()
{
int my_array[1000];
}
void func3()
{
new int my_array[1000];
}
问题:
答案 0 :(得分:2)
a)您可以像在示例中提到的那样在函数内部创建数组,以便您可以确定每个函数为数组分配内存所花费的时间。
b)您需要确定每次函数调用之间的时间。另外,在每个循环中确定的重点是什么。
您可以使用以毫秒为单位确定时间差异。
typedef std::chrono::high_resolution_clock Clock;
typedef std::chrono::milliseconds milliseconds;
Clock::time_point t0 = Clock::now();
fun1(); //function call
Clock::time_point t1 = Clock::now();
milliseconds ms = std::chrono::duration_cast<milliseconds>(t1 - t0);
std::cout << ms.count() << "ms\n";
同样,您可以确定剩余函数调用所花费的时间。