Ah looks like the GLIBC_TUNABLES environment variable didn't appear in the output. Let me try again: + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 0 -r5 80.6649 GB/s + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 0 0 2 4 6 8 10 12 14 16 18 20 22 -r5 954.928 GB/s + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -r5 1883.1 GB/s + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 0 -r5 48.7753 GB/s + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 0 0 2 4 6 8 10 12 14 16 18 20 22 -r5 570.385 GB/s + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -r5 676.928 GB/s + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 15 -r5 3.54696 GB/s + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 15 0 2 4 6 8 10 12 14 16 18 20 22 -r5 42.5706 GB/s + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -r5 85.0753 GB/s + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 15 -r5 3.50689 GB/s + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 15 0 2 4 6 8 10 12 14 16 18 20 22 -r5 41.5237 GB/s + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -r5 81.8951 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 0 -r5 102.05 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 0 0 2 4 6 8 10 12 14 16 18 20 22 -r5 1206.81 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -r5 2415.47 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 0 -r5 49.4859 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 0 0 2 4 6 8 10 12 14 16 18 20 22 -r5 583.279 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -r5 1066.54 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 15 -r5 97.1753 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 15 0 2 4 6 8 10 12 14 16 18 20 22 -r5 991.128 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 2113 -p 100000 -D 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -r5 2257.42 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 15 -r5 49.3362 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 15 0 2 4 6 8 10 12 14 16 18 20 22 -r5 571.026 GB/s + GLIBC_TUNABLES=glibc.cpu.x86_rep_movsb_threshold=1000000 + ./memcpy_loop -t mmap -f memcpy -b 524287 -p 100000 -D 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -r5 1075.03 GB/s