作者mark182908 (mark)
看板C_and_CPP
標題[問題]有關C語言之Query Performance問題
時間Thu Sep 3 16:15:10 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Visual C++ 2013 (寫C)
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
No
問題(Question):
有關使用QueryPerformance來計算XOR執行時間我有以下幾項問題:
1.宣告為LARGE_INTEGER是怎樣的資料型態呢?
2.(t2.QuadPart - t1.QuadPart) / (double)ts.QuadPart)
這裡為什麼要除ts?ts是什麼?
麻煩大家了謝謝
餵入的資料(Input):
for (i = 0; i < SIZE; i++)
C[i] = A[i] ^ B[i];
預期的正確結果(Expected Output):
不確定
錯誤結果(Wrong Output):
不確定
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
#define SIZE 65536
char main(void)
{
LARGE_INTEGER t1, t2,ts;
QueryPerformanceFrequency(&ts);
unsigned char A[SIZE], B[SIZE], C[SIZE];
int i;
for (i = 0; i < SIZE; i++)
{
A[i] = 0;B[i] = 1;
}
QueryPerformanceCounter(&t1);
for (i = 0; i < SIZE; i++)
C[i] = A[i] ^ B[i];
QueryPerformanceCounter(&t2);
printf("%.20f microsecond\n", (t2.QuadPart - t1.QuadPart) /
(double)ts.QuadPart);
system("pause");
return 0;
}
補充說明(Supplement):
這個方法我是在網路上找到的不確定是否正確
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.41.32.229
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1441268113.A.C60.html
→ yvb: 1. google LARGE_INTEGER 09/03 16:26
→ yvb: 2. google QueryPerformanceFrequency 09/03 16:26
→ james732: Google去看MDSN的說明吧 09/03 18:22
→ TobyH4cker: ... 09/04 11:03
小弟太心急忘了可以用Google查...不好意思打擾到大家了...
※ 編輯: mark182908 (114.41.32.229), 09/04/2015 11:35:10
推 johnjohnlin: 可以用 std::chrono 09/04 14:11