看板 Soft_Job 關於我們 聯絡資訊
各位好, 我測試了一段程式,如下: #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
TK421:有C&C++專版 這個本版似乎無關 04/09 10:47
kkkmode:不好意思發錯版,已轉至c_and_cpp 04/09 11:11