for loop for loop rep movsb gcc -ftree-vectorize clang -mavx2 ------------------------------------------------------------------------------- 128 octets 23,453 MB/s 39,308 MB/s * 14,633 MB/s 128 octets 23,349 MB/s 39,026 MB/s * 14,491 MB/s 192 octets 25,714 MB/s * 6,409 MB/s 15,718 MB/s 192 octets 25,634 MB/s * 6,344 MB/s 20,673 MB/s 256 octets 26,930 MB/s 69,253 MB/s * 26,225 MB/s 320 octets 27,895 MB/s 10,230 MB/s 31,224 MB/s * 384 octets 28,477 MB/s 61,973 MB/s * 35,702 MB/s 448 octets 28,927 MB/s 19,294 MB/s 39,737 MB/s * 512 octets 23,179 MB/s 90,829 MB/s * 43,574 MB/s 576 octets 29,599 MB/s 23,464 MB/s 46,945 MB/s * 704 octets 30,016 MB/s 29,012 MB/s 53,135 MB/s * 832 octets 30,291 MB/s 33,500 MB/s 58,237 MB/s * 1,024 octets 30,635 MB/s 106,806 MB/s * 64,881 MB/s 1,216 octets 27,484 MB/s 41,823 MB/s 70,067 MB/s * 1,536 octets 28,530 MB/s 106,175 MB/s * 77,573 MB/s 1,856 octets 29,030 MB/s 58,705 MB/s 83,133 MB/s * 2,240 octets 29,525 MB/s 61,212 MB/s 88,348 MB/s * 2,752 octets 29,993 MB/s 66,859 MB/s 93,731 MB/s * 3,328 octets 30,235 MB/s 120,356 MB/s * 97,859 MB/s 3,904 octets 30,543 MB/s 81,004 MB/s 96,574 MB/s * 4,736 octets 30,743 MB/s 122,242 MB/s * 100,999 MB/s 5,632 octets 31,012 MB/s 123,213 MB/s * 104,621 MB/s 6,848 octets 31,199 MB/s 90,752 MB/s 107,776 MB/s * 8,256 octets 31,258 MB/s 96,937 MB/s 108,741 MB/s * 10,048 octets 31,358 MB/s 103,922 MB/s 113,179 MB/s * 12,032 octets 31,544 MB/s 125,241 MB/s * 113,205 MB/s 15,040 octets 31,534 MB/s 89,731 MB/s 115,609 MB/s * 18,048 octets 31,660 MB/s 65,821 MB/s 79,465 MB/s * 22,016 octets 31,690 MB/s 49,078 MB/s 51,175 MB/s * 27,008 octets 31,770 MB/s 46,606 MB/s 52,189 MB/s * 33,024 octets 31,573 MB/s 49,201 MB/s 53,064 MB/s * 39,040 octets 31,519 MB/s 49,735 MB/s 53,471 MB/s * 47,040 octets 31,421 MB/s 49,369 MB/s 53,705 MB/s * 56,000 octets 31,595 MB/s 49,125 MB/s 53,296 MB/s * 68,032 octets 31,454 MB/s 49,422 MB/s 53,378 MB/s * 82,048 octets 31,163 MB/s 43,846 MB/s 52,111 MB/s * 100,032 octets 31,109 MB/s 45,813 MB/s 52,859 MB/s * 120,000 octets 30,886 MB/s 40,220 MB/s 51,004 MB/s * 150,016 octets 28,931 MB/s 34,701 MB/s 48,592 MB/s * 180,032 octets 27,657 MB/s 30,949 MB/s 44,649 MB/s * 220,032 octets 26,352 MB/s 28,454 MB/s 41,152 MB/s * 270,016 octets 25,065 MB/s 27,719 MB/s 37,667 MB/s * 330,048 octets 24,773 MB/s 26,986 MB/s 34,911 MB/s * 390,016 octets 24,576 MB/s 26,970 MB/s 33,867 MB/s * 470,016 octets 24,719 MB/s 26,909 MB/s 32,874 MB/s * 560,000 octets 25,004 MB/s 26,892 MB/s 32,997 MB/s * 680,000 octets 24,530 MB/s 27,040 MB/s 32,574 MB/s * 820,032 octets 24,599 MB/s 27,219 MB/s 32,756 MB/s * 1,000,000 octets 24,616 MB/s 26,981 MB/s 32,578 MB/s * 1,200,000 octets 24,578 MB/s 26,962 MB/s 32,671 MB/s * 1,500,032 octets 24,705 MB/s 27,062 MB/s 32,423 MB/s * 1,800,000 octets 23,580 MB/s 26,719 MB/s 32,860 MB/s * 2,200,000 octets 23,660 MB/s 26,552 MB/s 32,337 MB/s * 2,700,032 octets 23,423 MB/s 26,352 MB/s 32,246 MB/s * 3,300,032 octets 21,726 MB/s 25,329 MB/s 30,003 MB/s * 3,900,032 octets 17,884 MB/s 22,844 MB/s 27,926 MB/s * 4,700,032 octets 17,379 MB/s 19,746 MB/s 25,082 MB/s * 5,600,000 octets 15,785 MB/s 17,447 MB/s 20,941 MB/s * 6,800,000 octets 12,955 MB/s 13,945 MB/s 16,229 MB/s * 8,200,000 octets 11,702 MB/s 11,327 MB/s 14,511 MB/s * 10,000,000 octets 10,949 MB/s 11,237 MB/s 12,301 MB/s * 12,000,000 octets 10,003 MB/s 9,731 MB/s 11,299 MB/s * 15,000,000 octets 9,338 MB/s 9,241 MB/s 10,402 MB/s * 18,000,000 octets 9,104 MB/s 8,951 MB/s 10,257 MB/s * 22,000,000 octets 9,038 MB/s 8,910 MB/s 10,147 MB/s * 27,000,000 octets 8,960 MB/s 8,677 MB/s 10,051 MB/s * 33,000,000 octets 8,836 MB/s 8,847 MB/s 10,126 MB/s * 39,000,000 octets 8,680 MB/s 8,597 MB/s 10,012 MB/s * 47,000,000 octets 8,626 MB/s 8,479 MB/s 9,776 MB/s * 56,000,000 octets 8,570 MB/s 8,732 MB/s 10,094 MB/s * 68,000,000 octets 8,519 MB/s 8,549 MB/s 9,997 MB/s * 82,000,000 octets 8,556 MB/s 8,645 MB/s 9,936 MB/s * '*' marks the fastest. $ sysctl -n machdep.cpu.brand_string Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz