为了对代码块进行测试,先在代码块的开始创建一个本地类实例,假设要测试的代码是下列循环:
string *pstr[5000]; //指针数组
for (int i=0;i<5000;i++)
{
pstr[i] = new string;
}
此循环在堆中分配5000个串对象。
用大括弧将上面的代码块括起来并在代码块开始声明类对象实例:
{
stopwatch watch; // 开始计时
string *pstr[5000];
for (int i=0;i<5000;i++)
{
pstr[i] = new string;
}
} // 摧毁计时器并报告结果
根据上面的代码段,当代码开始执行时,计时也开始,当代码退出时,析构函数便显示结果:
此操作所用时间: 27
转换成秒数: 0.027
循环在运行这段代码的机器上耗时27毫秒。现在对上面的代码段稍做改动,使用栈动态分配内存会得到什么样的性能数据呢?
{
stopwatch watch;
for (int i=0;i<5000;i++)
{
string s;//创建并销毁本地的自动创建的串
}
}
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/