為了對代碼塊進行測試,先在代碼塊的開始創建一個本地類實例,假設要測試的代碼是下列循環:
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毫秒,F在對上面的代碼段稍做改動,使用棧動態分配內存會得到什么樣的性能數據呢?
{
stopwatch watch;
for (int i=0;i<5000;i++)
{
string s;//創建并銷毀本地的自動創建的串
}
}
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/