The Computer Language
24.04 Benchmarks Game

Swift versus Java 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
Swift 33.85 19,660 457 33.85
Swift #3 8.58 19,660 1103 33.96
Java #3 40.76 42,844 1264 40.83
Java 10.98 42,812 1289 43.36
Java #2 44.03 40,916 520 44.09
n-body
source secs mem gz cpu secs
Swift #4 5.49 19,680 1361 5.49
Swift #5 5.51 19,812 1372 5.51
Swift #7 5.52 19,684 1333 5.52
Swift #6 5.97 19,680 1200 5.97
Swift #8 5.99 19,808 1688 5.99
Java #5 6.78 41,384 1435 6.82
Java #4 6.87 41,188 1495 6.91
Java #2 7.42 41,308 1430 7.46
Java #3 7.47 41,256 1436 7.51
Java 7.85 41,512 1437 7.89
Swift #2 9.55 19,684 1198 9.55
Swift #3 202.89 19,680 1210 202.89
Swift #9 287.28 19,684 1532 287.27
spectral-norm
source secs mem gz cpu secs
Swift 5.32 19,684 444 5.32
Swift #3 1.43 19,684 607 5.69
Java #3 1.66 42,924 762 6.21
Java 7.07 42,268 521 7.13
Java #2 2.40 42,164 956 9.25
mandelbrot
source secs mem gz cpu secs
Swift #7 1.34 47,104 1147 5.30
Swift #6 1.45 50,176 1147 5.73
Java #4 4.45 104,488 667 16.20
Java #2 4.13 83,152 802 16.22
Java #6 4.28 83,056 808 16.84
Java 25.70 41,388 671 25.76
Swift 26.40 19,680 400 26.40
Swift #5 7.21 43,520 665 26.95
Java #3 7.86 83,424 910 30.96
Swift #3   Bad Output  
pidigits
source secs mem gz cpu secs
Swift #2 0.88 19,684 606 0.88
Java #3 0.93 40,860 770 0.96
Java #2 1.34 44,524 944 1.42
Java 7.61 486,236 807 8.69
regex-redux
source secs mem gz cpu secs
Java 8.38 666,804 875 16.42
Java #3 5.17 671,372 935 17.04
Java #6 5.57 1,234,928 746 17.17
Swift #2 41.76 684,640 678 41.75
Swift 24.13 889,972 721 42.70
Swift #4 20.41 1,060,208 751 44.32
fasta
source secs mem gz cpu secs
Java #4 3.15 42,784 1528 3.26
Java #6 1.18 48,408 2549 3.71
Java #5 1.24 48,752 2478 3.81
Swift #2 2.18 19,680 1952 3.83
Java #2 4.35 47,184 1259 4.50
Swift 5.15 19,676 1533 5.15
Swift #3 2.14 29,584 2097 5.26
k-nucleotide
source secs mem gz cpu secs
Java 5.01 368,104 1821 16.33
Java #6 7.18 365,592 1614 25.01
Java #3 7.30 365,348 1642 25.39
Java #4 34.43 195,584 1887 34.79
Java #5 16.05 219,872 2225 38.17
Swift #2 14.51 259,048 1373 55.29
Swift   Make Error  
reverse-complement
source secs mem gz cpu secs
Swift 1.88 796,840 1293 2.30
Java #6 3.33 2,031,460 760 3.96
Java #5 4.73 1,096,344 1115 4.86
Java #4 5.57 1,889,928 656 5.68
Java #7 23.06 1,036,296 1654 6.31
Java #3   Bad Output  
Java #8   Bad Output  
binary-trees
source secs mem gz cpu secs
Java #4 4.50 2,081,744 846 5.22
Java #3 4.80 2,076,860 546 5.59
Java #6 4.84 2,097,072 535 5.60
Java #2 4.93 2,067,656 558 5.67
Java #7 2.57 1,728,452 841 8.00
Swift #5 13.79 736,000 813 40.99
Swift #3 13.33 705,408 868 43.00
Swift #2 13.28 705,280 822 43.28
Swift 20.15 735,488 720 59.68
Swift #4 19.49 705,536 772 62.34
Swift #9   Make Error  
Swift

Swift version 5.10
(swift-5.10-RELEASE)

Java

java 22 2024-03-19
Java HotSpot(TM) 64-Bit Server VM
(build 22+36-2370,
mixed mode, sharing)