The Computer Language
23.03 Benchmarks Game

Python 3 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
Java #3 40.36 39,932 1257 40.43
Java 10.71 40,324 1282 42.25
Java #2 46.85 38,492 514 46.91
Python 3 #6 913.87 11,080 385 913.83
Python 3 #4 285.20 14,264 950 1,123.47
n-body
source secs mem gz cpu secs
Java #5 6.77 40,632 1429 6.82
Java #4 6.86 40,516 1489 6.89
Java #2 7.32 40,508 1424 7.37
Java #3 7.38 40,492 1430 7.43
Java 7.76 40,724 1430 7.80
Python 3 383.12 11,096 1196 383.11
Python 3 #2 402.59 11,096 1242 402.57
spectral-norm
source secs mem gz cpu secs
Java #3 1.54 42,324 756 5.93
Java 7.02 41,448 514 7.09
Java #2 2.39 41,092 950 9.25
Python 3 #8 78.36 15,704 407 311.22
Python 3 #6 315.69 11,200 328 315.68
Python 3 #7 89.17 15,516 417 352.71
mandelbrot
source secs mem gz cpu secs
Java #4 4.39 101,236 660 16.12
Java #2 4.11 83,924 796 16.21
Java #6 4.27 84,532 802 16.86
Java 25.66 40,860 665 25.73
Java #3 7.37 88,056 903 29.24
Python 3 #7 155.28 14,244 688 616.01
Python 3 #2   Timed Out  
Python 3 #5   Failed  
pidigits
source secs mem gz cpu secs
Java #3 0.92 38,380 764 0.95
Python 3 #3 1.25 13,564 567 1.25
Python 3 #5 1.39 11,428 363 1.39
Java #2 1.34 41,352 938 1.42
Python 3 #4 4.21 11,096 342 4.21
Java 7.44 430,616 800 8.45
regex-redux
source secs mem gz cpu secs
Python 3 #2 1.38 168,144 1403 2.65
Python 3 8.02 460,684 512 14.90
Java 8.58 767,552 868 16.68
Java #6 5.40 637,728 740 17.08
Java #3 5.45 736,544 929 17.42
fasta
source secs mem gz cpu secs
Java #4 3.17 40,400 1524 3.27
Java #6 1.16 46,068 2543 3.65
Java #5 1.23 46,180 2473 3.79
Java #2 4.32 44,708 1257 4.45
Python 3 #2 49.99 11,088 1121 49.99
Python 3 #3 50.28 11,088 1003 50.27
Python 3 58.84 11,092 817 58.84
Python 3 #5 33.40 827,232 1947 61.49
k-nucleotide
source secs mem gz cpu secs
Java 5.03 361,196 1812 16.40
Java #6 7.17 357,700 1607 25.04
Java #3 7.12 357,568 1635 25.06
Java #4 35.38 201,052 1882 35.83
Java #5 18.82 208,376 2219 40.84
Python 3 #3 44.13 262,348 1967 165.01
Python 3 58.56 379,464 607 211.98
Python 3 #8 69.21 505,836 655 214.24
reverse-complement
source secs mem gz cpu secs
Java #6 3.02 2,027,152 752 3.69
Java #5 4.46 1,094,060 1108 4.58
Python 3 #3 4.96 508,412 796 4.95
Java #4 5.51 1,886,052 651 5.62
Java #7 24.15 1,032,956 1647 6.20
Python 3 #5 3.72 1,500,212 954 6.76
Python 3 8.53 1,986,544 479 8.53
Python 3 #2 8.58 1,788,056 434 8.58
Python 3 #6 6.17 2,484,084 814 9.23
Python 3 #4 12.04 4,002,656 335 12.04
Java #3   Bad Output  
Java #8   Bad Output  
binary-trees
source secs mem gz cpu secs
Java #4 4.47 2,116,292 840 5.15
Java #6 4.88 2,058,280 529 5.59
Java #3 4.91 2,101,240 540 5.61
Java #2 5.05 2,095,888 552 5.73
Java #7 2.52 1,726,148 835 7.89
Python 3 #2 104.73 271,980 338 104.72
Python 3 #5 35.33 274,884 660 125.79
Python 3 #4 34.53 276,752 472 125.93
Python 3 35.93 276,952 589 126.44
Python 3 #3 50.99 672,016 1238 142.94
Python 3

Python 3.11.1

Java

openjdk 20 2023-03-21
OpenJDK Runtime Environment
(build 20+36-2344)
OpenJDK 64-Bit Server VM
(build build 20+36-2344
mixed mode, sharing)