準確獲取CPU時間

2021-07-28 02:04:13 字數 3255 閱讀 9586

#include "stdafx.h"

#include #include #include #include const char *_tmpfilename = "tmptestfile";

const char *teststr = "0123456789";

const int teststrlen = 10;

const double send_rate = 0.1;

longlong cpu_freq = 0;

const __int64 default_data_size = 1024*1024*100;

char strbuf[256];

int ginumlastoutput = 0;

/*void onelineoutput(const char *strput)

} }closehandle(hstdin);

return 0;

}// 主函式

int main(int argc, char* argv)

__int64 datasize = (__int64)(atof(argv[1])*1024*1024);

char *dirpath = argv[3];

char filepath[128];

logout("test");

sprintf_s(filepath,128,"%s\\%s",dirpath,_tmpfilename);

cpu_freq = getcpufreq();

createdir(dirpath); // 如果資料夾不存在就建立

sprintf_s(strbuf,256,"datasize=%i64d\n",datasize);

logout(strbuf);

sprintf_s(strbuf,256,"style:%s\n",argv[2]);

logout(strbuf);

dword dwthreadid = 0;

handle hthread = createthread(null,0,readfromserverpipethread,null,0,&dwthreadid);

fflush(stdout);

if(strcmp(argv[2],"w") == 0)

testwritefile(filepath,datasize);

else if(strcmp(argv[2],"r") == 0)

testreadfile(filepath,datasize);

printf("done\n");

fflush(stdout);

sleep(100);

//onelineoutput("done\n");

printf("done\n");

fflush(stdout);

sleep(100);

closehandle(hthread);

return 0;

}// 測試寫速度

void testwritefile(char *filepath,__int64 totalsize)

; file *fp;

if(fopen_s(&fp,filepath,"w+") != 0)

_cycstartcnt = getcyclecount();

for(__int64 _i=0;_i<_cyctimes;_i++) }

_cyccurcnt = getcyclecount();

if(fp!=null) fclose(fp);

_times = (double)((_cyccurcnt - _cycstartcnt)/cpu_freq*1.0); // 現在距起始的時間(s)

_sizewritenm = (double)(_sizewriten/1024*1.0/1024); // 已經寫入的資料大小(m)

_curwritespeed = _sizewritenm*1.0/_times; // 現在的寫入速度 m/s

sprintf_s(strwritespd,128,"[written:%0.1fm,speed:%0.2fm]/s\n",_sizewritenm,_curwritespeed);

printf(strwritespd);

//onelineoutput(strwritespd);

fflush(stdout);

}// 測試讀速度

void testreadfile(char *filepath,__int64 totalsize)

; file *fp;

fopen_s(&fp,filepath,"r");

if(fp == null)

_startcyccnt = getcyclecount();

while((numread = fread(_strreadspd,sizeof(char),256,fp))) }

_curcyccnt = getcyclecount();

if(fp!=null) fclose(fp);

_sizereadm = (double)(_sizeread/1024*1.0/1024);

_times = double((_curcyccnt - _startcyccnt)*1.0/cpu_freq);

_curreadspd = _sizereadm/_times;

sprintf_s(_strreadspd,256,"[read:%0.1fm,speed:%0.2fm]/s\n",_sizereadm,_curreadspd);

//onelineoutput(_strreadspd);

printf(_strreadspd);

fflush(stdout);

}// 獲取cpu頻率

longlong getcpufreq()

sleep(1000);

::queryperformancecounter(&ed); // 獲取結束時間

__asm

// 將cpu的時間週期數轉化為64位整數

longlong begin = (longlong)high1<<32 | low1;

longlong end = (longlong)high2<<32 | low2;

return (end - begin)*fq.quadpart/(ed.quadpart-st.quadpart);

}

在magento中獲取準確的當前時間

問題 如何在magento中獲取系統當前時間?this time will not match your server time now time echo date m d y h i s time 如果你試圖在magento裡面通過下面的方式來獲取系統的當前時間的話,那麼你可能會對你得到的結果感...

cpu資訊獲取

cpu溫度的獲取 cpu溫度儲存在 sys class thermal thermal zone0 temp中,讀取出的數值需要除以1000。bash 工具 cat 工具用來強制讀取乙個檔案。gerp 工具用來篩選資料。awk 用來處理資料。uptime 獲取cpu負載資訊 bash 數值計算 ba...

linux系統時間不準確,時間同步問題

今天程式部署後發現定時任務到點不起作用,後來研究半天發現是伺服器上的時間和我本地的時間不一致,本地時間和同事的都是一樣,所以想到伺服器這邊可能要做一下時間同步。使用ntpdate實現時間同步 命令 1.首先安裝ntpdate,命令如下 yum install ntpdate y2.手動同步網路時間 ...