Vaa3D 記憶體 執行時間統計 windows

2021-10-09 09:21:14 字數 3196 閱讀 3795

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...