$ dd bs=1M count=10 random_file 10485760 bytes (10 MB, 10 MiB) copied, 0.183075 s, 57.3 MB/s $ clang -O3 cp_x.c -o cp_x $ time ./cp_x random_file random_file_copy Can we get any insights from strace? $strace ./cp_x random_file random_file_copy ===cp command real 0m0.076s user 0m0.004s sys 0m0.008s ====cp_fgetc (stdio) real 0m0.118s user 0m0.060s sys 0m0.037s ====cp_libc_one_byte (read/write) real 7m29.977s user 0m6.752s sys 1m24.303s ====cp_libc (read/write) 4096 bytes