$ 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.071s user 0m0.005s sys 0m0.023s cp_fgetc (stdio) real 0m0.084s user 0m0.069s sys 0m0.010s cp_libc_one_byte (read/write) real 0m0.084s user 0m0.069s sys 0m0.010s cp_libc (read/write) 4096 bytes