[請益] C語言memcpy()的效率問題

看板Soft_Job作者 (kkk)時間11年前 (2014/04/09 09:52), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
各位好, 我測試了一段程式,如下: #include <stdio.h> #define size 65536 void main(){ char source[size], destination[size]; int j; for(j=0; j<100000; j++) memcpy(destination, source, size); } 把size改成65535或65537執行速度大概會慢10倍(compiler沒設最佳化) 其他2的冪次方加減1也有此現象(例如1024改成1023或1025) 我覺得可能是cache沒命中造成的 但詳細的原因不是很清楚 如果各位知道原因的話請幫忙一下,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.44.11 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1397008338.A.77E.html

04/09 10:47, , 1F
有C&C++專版 這個本版似乎無關
04/09 10:47, 1F

04/09 11:11, , 2F
不好意思發錯版,已轉至c_and_cpp
04/09 11:11, 2F
文章代碼(AID): #1JHAVIT- (Soft_Job)