[問題] 有關C語言之Query Performance問題

看板C_and_CPP (C/C++)作者 (mark)時間10年前 (2015/09/03 16:15), 10年前編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
開發平台(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

09/03 16:26, , 1F
1. google LARGE_INTEGER
09/03 16:26, 1F

09/03 16:26, , 2F
2. google QueryPerformanceFrequency
09/03 16:26, 2F

09/03 18:22, , 3F
Google去看MDSN的說明吧
09/03 18:22, 3F

09/04 11:03, , 4F
...
09/04 11:03, 4F
小弟太心急忘了可以用Google查...不好意思打擾到大家了... ※ 編輯: mark182908 (114.41.32.229), 09/04/2015 11:35:10

09/04 14:11, , 5F
可以用 std::chrono
09/04 14:11, 5F
文章代碼(AID): #1Lw06HnW (C_and_CPP)
文章代碼(AID): #1Lw06HnW (C_and_CPP)