windows系統下,包含windows.h和psapi.h即可呼叫api獲取尖峰記憶體消耗等資訊。
可以自己修改記憶體、時間等的記錄單位。
用法是通過addcheckpoint函式,記錄當前占用的記憶體和執行的時間。
資料會被記錄在 timepoint memorypoint; zhushi; 這三個vector變數中。
然後在程式結束以後,通過print2file函式將記錄的資訊輸出到檔案中。
print2file這個函式可以根據自己的需要進行一定的修改。
memorytimecount mt_count;
mt_count.
addcheckpoint
("prepare");
mt_count.
print2file
(qstring filename)
;
#include
"memorytimecount.h"
memorytimecount::
memorytimecount()
#ifndef memorytimecount_h
#define memorytimecount_h
#include
#include
#pragma once
#pragma comment(lib,"psapi.lib")
#include
#include
#include
#include
using
namespace std;
class
memorytimecount
qstring note2string()
tmp.
("\n");
return tmp;
}void
setcheckcurrentstate()
void
setchecktime()
void
setcheckmemory()
qstring getpeakmemoryandtime2string()
else
temp.
("\n");
return temp;
} qstring gettime2string()
tmp.
("\n");
return tmp;
}
qstring getmemory2string()
tmp.
("\n");
tmp.
("\nlatest memorysize\n");
tmp.
("peakworksetsize \t ").
(qstring::
number
(peakworkingsetsize)).
("\n");
tmp.
("workingsetsize \t ").
(qstring::
number
(workingsetsize )).
("\n");
tmp.
("peakpagefileusage \t ").
(qstring::
number
(peakpagefileusage )).
("\n");
tmp.
("pagefileusage \t ").
(qstring::
number
(pagefileusage )).
("\n");
tmp.
("privateusage \t ").
(qstring::
number
(privateusage )).
("\n");
tmp.
("\n");
return tmp;
}void
print2file
(qstring filename)
file.
close()
;}//顯示當前程式的記憶體使用情況
void
logcurrentprocessmemoryinfo()
;// int a = sizeof(pmc);if(
!getprocessmemoryinfo
(handle,
(process_memory_counters*
)&pmc,
sizeof
(pmc)))
peakworkingsetsize=pmc.pagefileusage/
1024
/1024
; workingsetsize=pmc.workingsetsize/
1024
/1024
; peakpagefileusage=pmc.peakpagefileusage/
1024
/1024
; pagefileusage=pmc.pagefileusage/
1024
/1024
; privateusage=pmc.privateusage/
1024
/1024;}
memorytimecount()
;private
:long
long peakworkingsetsize;
long
long workingsetsize;
long
long peakpagefileusage;
long
long pagefileusage;
long
long privateusage;};
#endif
// memorytimecount_h
這個標頭檔案的順序不能改變,否則有可能發生變異錯誤
#include
#include
#pragma once
#pragma comment(lib,"psapi.lib")
C Qt 統計執行時間
1.c c c中有基礎庫用於實現該功能,功能在time.h標頭檔案中,例項如下 1 include 2 include 3 include 4 5 void main 6 2.qt qt程式中也可以使用c的方法,當然qt內部封裝了乙個時間統計的方法 qtime類 注意不是qtimer,qtimer是...
GPROF 統計函式執行時間
gprof的基本用法 1 使用 pg 選項編譯和鏈結你的應用程式 在gcc編譯程式的時候,加上 pg選項,如果是大專案,就在makefile裡面修改編譯選項,pg放在那裡都行。例如 gcc pg o test test.c 2 執行你的應用程式使之生成供gprof 分析的資料,執行剛才的程式 tes...
FreeRTOS任務執行時間資訊統計
以下兩個函式都是任務執行時間資訊統計函式 include sys.h include delay.h include usart.h include led.h include timer.h include key.h include string.h include freertos.h inc...