看板 C_and_CPP 關於我們 聯絡資訊
void * memcpy ( void * destination, const void * source, size_t num ); 是一個很常用的function 對於連續資料的複製會比自己使用迴圈快不少 但是有沒有可能 當size_t 在多少以下的時候 反而比一行一行寫慢呢? 例如 mem_addr1, mem_addr2都是char* memcpy(mem_addr1, mem_addr2, 2); 和 mem_addr1[0]=mem_addr2[0]; mem_addr1[1]=mem_addr2[1]; 會不會後者較快? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.247.173.226
VictorTom:印象中好的實作會視資料量決定是不是用後者直接assign@@ 07/27 20:12
zlw:你要複製的數目很少的時候,memcpy畢竟是函數呼叫,就會有額外 07/27 21:11
zlw:的成本。總之可以自己測,http://tinyurl.com/nj86tg (clock) 07/27 21:13