memory copy

「memory copy」の編集履歴(バックアップ)一覧はこちら

memory copy」(2008/04/07 (月) 01:17:05) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*目的 構造体の変数を代入とmemcpyでどちらが早か調べる *実行環境 今回のテストは環境に依存すると思うので参考までにspecを載せておく AMD Athlon(tm) 64 Processor 3200+ DDR 515992kB *コード #include <stdio.h> #include <string.h> #include <time.h> #include <sys/time.h> struct mydata { char buf[68]; }; long gettimeofday_sec() { struct timeval tv; gettimeofday(&tv, NULL); return tv.tv_usec; } int main() { struct mydata d1; struct mydata d2; long start; start = gettimeofday_sec(); d2 = d1; printf("d2 = d1, %dusec\n", (gettimeofday_sec() - start)); start = gettimeofday_sec(); memcpy(&d2, &d1, sizeof(struct mydata)); printf("memcpy, %dusec\n", (gettimeofday_sec() - start)); return (0); } *実行 $ gcc -o memtest memtest.c -g $ ./memtest d2 = d1, 5usec memcpy, 2usec どうやら私の環境では64byteぐらいからmemcpyの方が早くなるようである

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。