作者WillyLin (我是我 我不是我)
看板C_and_CPP
標題[問題] function memcpy()的疑問^^
時間Mon Jul 27 20:07:44 2009
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