Swift versus C++ g++ fastest performance Always look at the source code. If the fastest programs are hand-written vector instructions, does the host language matter? You might be more interested in the less optimised programs — more seconds, less gz source code. fannkuch-redux source secs mem gz cpu secs C++ g++ #6 3.23 10,936 1528 12.80 C++ g++ #7 14.04 10,912 1150 14.04 C++ g++ #5 7.99 10,936 980 31.23 Swift #3 8.24 11,220 1097 32.62 Swift 34.60 11,220 451 34.59 C++ g++ #3 36.06 10,908 593 36.05 C++ g++ #2 9.51 10,912 1440 37.33 C++ g++ #4 9.82 10,912 1439 38.52 C++ g++ 10.39 10,912 1059 40.77 n-body source secs mem gz cpu secs C++ g++ #0 2.14 10,960 1927 2.14 C++ g++ #2 4.44 10,960 1879 4.44 C++ g++ #7 4.44 10,960 1808 4.44 C++ g++ #9 4.88 10,960 1530 4.88 Swift #5 5.44 14,780 1365 5.43 C++ g++ #4 5.44 10,960 1428 5.44 Swift #7 5.44 14,792 1326 5.44 Swift #4 5.45 14,780 1355 5.45 C++ g++ #6 5.70 10,960 1668 5.70 C++ g++ #3 5.76 10,960 1396 5.76 Swift #8 5.92 14,820 1681 5.92 Swift #6 5.93 11,340 1194 5.93 C++ g++ 5.97 10,960 1659 5.97 C++ g++ #8 6.53 10,960 1517 6.53 C++ g++ #5 6.89 11,016 1538 6.88 Swift #3 8.06 11,340 1204 8.06 Swift #2 9.12 11,340 1192 9.12 Swift #9 285.30 14,892 1526 285.29 spectral-norm source secs mem gz cpu secs C++ g++ #6 0.71 10,984 1044 2.84 C++ g++ #5 1.32 10,984 1044 5.25 Swift 5.32 14,944 438 5.32 C++ g++ 5.36 10,984 452 5.36 Swift #3 1.43 11,344 601 5.68 C++ g++ #8 1.52 10,992 1278 6.09 mandelbrot source secs mem gz cpu secs C++ g++ 0.89 34,012 1791 3.46 C++ g++ #4 0.88 34,664 3542 3.48 C++ g++ #6 0.98 34,768 1002 3.88 Swift #7 1.40 46,628 1140 5.57 Swift #6 1.42 49,544 1141 5.64 C++ g++ #0 2.34 34,204 2739 9.28 C++ g++ #8 4.78 34,288 742 13.11 C++ g++ #5 13.35 33,504 590 13.35 C++ g++ #9 3.50 34,292 726 13.49 C++ g++ #7 3.49 34,304 1017 13.89 C++ g++ #2 16.91 34,008 692 16.90 Swift 25.99 11,340 394 25.98 Swift #5 7.29 43,012 659 26.91 C++ g++ #3 28.09 10,956 414 28.09 Swift #3 Bad Output pidigits source secs mem gz cpu secs C++ g++ #5 0.87 10,956 798 0.87 Swift #2 0.88 11,344 600 0.88 C++ g++ #4 0.89 10,956 513 0.88 regex-redux source secs mem gz cpu secs C++ g++ #6 1.13 275,984 2850 2.18 C++ g++ 3.55 211,848 656 3.55 C++ g++ #2 2.83 212,460 700 3.59 C++ g++ #5 3.78 215,276 852 4.49 C++ g++ #3 13.26 217,376 853 19.13 Swift #2 34.87 683,772 671 34.85 Swift 18.89 883,576 715 35.94 Swift #4 18.76 962,572 745 36.82 C++ g++ #4 Make Error fasta source secs mem gz cpu secs C++ g++ #8 0.77 10,944 2751 1.52 C++ g++ #2 1.87 10,940 1127 1.86 C++ g++ 1.96 10,936 1057 1.96 C++ g++ #3 2.64 10,940 1307 2.64 Swift #2 2.25 11,340 1945 3.05 C++ g++ #4 3.34 10,940 1287 3.34 C++ g++ #5 1.04 10,940 2344 3.66 C++ g++ #6 1.03 10,936 2324 3.83 Swift 4.51 11,340 1526 4.51 Swift #3 1.39 27,800 2090 4.51 C++ g++ #7 Make Error k-nucleotide source secs mem gz cpu secs C++ g++ #2 1.96 156,360 1631 5.87 C++ g++ #3 4.16 165,784 1276 13.84 C++ g++ 6.80 756,220 1446 14.43 Swift #2 13.63 258,044 1367 52.21 Swift Make Error reverse-complement source secs mem gz cpu secs C++ g++ #2 0.68 499,568 2093 0.68 Swift 1.85 795,972 1286 2.30 C++ g++ #6 3.03 1,515,936 1832 4.05 C++ g++ 6.35 979,820 592 6.35 C++ g++ #5 35.73 771,156 720 35.72 C++ g++ #3 Bad Output binary-trees source secs mem gz cpu secs C++ g++ #7 0.94 201,600 890 3.31 C++ g++ #5 1.13 200,428 885 4.05 C++ g++ #9 1.45 135,832 809 4.10 C++ g++ #6 1.80 265,520 844 4.39 C++ g++ #3 1.80 265,092 945 4.69 C++ g++ #8 2.14 265,536 820 5.12 C++ g++ 2.65 1,946,308 754 9.06 C++ g++ #2 23.13 265,616 508 23.13 Swift #5 13.35 735,440 806 39.79 Swift #3 13.06 704,876 862 41.74 Swift #2 13.04 704,780 816 42.00 Swift 19.62 734,844 714 58.29 Swift #4 18.96 704,904 765 60.01 Swift #9 Make Error C++ g++ #4 Make Error Swift Swift version 5.8-dev (LLVM 08f7fecaf6cedb8, Swift 24fe6ae8532db5d) C++ g++ Ubuntu 12.2.0-3ubuntu1 all Swift programs & measurements all C++ g++ programs & measurements