The Computer Language
25.01 Benchmarks Game

Python 3 versus Java -Xint fastest performance

How the programs are written matters! 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
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
Java -Xint #3 498.58 55,575 1264 497.215
Java -Xint 134.82 55,443 1289 527.876
Java -Xint #2 697.50 54,956 520 697.678
Java -Xint #8 708.83 54,968 517 709.006
Python 3 #6 943.88 11,874 391 942.627
Python 3 #4 311.18 28,701 960 1,221.851
Python 3 #8 2,457.09 11,874 414 2,455.594
n-body
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
Java -Xint #4 160.54 56,537 1495 160.58—160.66
Java -Xint #8 160.98 56,529 1322 161.04—161.34
Java -Xint #3 175.24 56,549 1436 175.34—175.45
Java -Xint #2 178.94 56,537 1430 179.09—179.27
Java -Xint 187.47 56,762 1437 186.89—189.24
Java -Xint #5 240.86 56,521 1435 240.99—241.14
Python 3 372.41 12,198 1201 371.225
Python 3 #2 442.06 12,554 1247 440.867
Python 3 #8 529.38 12,497 1172 528.159
spectral-norm
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
Java -Xint #2 17.04 57,840 956 67.360
Java -Xint #8 84.13 57,487 453 84.24—84.42
Java -Xint 84.66 57,860 521 84.78—84.97
Java -Xint #3 26.20 58,536 762 103.53—104.58
Python 3 #6 349.68 13,660 334 348.475
Python 3 #4 90.37 34,693 415 352.912
Python 3 #8 386.45 12,833 334 385.071
Python 3 #7 109.91 34,578 425 421.842
mandelbrot
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
Java -Xint 361.43 89,395 671 359.885
Java -Xint #3 121.75 129,159 910 478.377
Java -Xint #4 163.49 153,235 667 605.974
Java -Xint #8 631.98 87,757 441 632.128
Python 3 #7 182.94 62,173 698 723.276
Java -Xint #2 206.34 127,955 802 818.360
Java -Xint #6 215.54 128,238 808 854.673
Python 3 #3 879.41 45,085 319 877.962
Python 3 #2 237.64 230,973 790 937.870
Python 3 #5 260.63 61,620 463 1,033.156
Python 3 #8 1,577.29 45,031 379 1,575.803
fasta
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
Java -Xint #5 8.96 60,871 2478 23.428
Java -Xint #4 25.47 55,329 1528 25.462
Java -Xint #6 9.18 60,899 2549 30.822
Java -Xint #2 37.02 55,284 1259 37.021
Python 3 #3 39.03 12,218 1007 38.30—47.80
Python 3 #2 39.06 12,415 1126 38.61—46.82
Python 3 #5 27.95 1,190,347 1951 54.20—54.96
Python 3 57.39 12,100 823 56.94—65.76
Python 3 #8 153.17 11,915 738 153.78—158.43
Java -Xint #8 329.43 465,990 894 327.845
k-nucleotide
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
Python 3 #3 46.55 674,185 1970 182.32—187.37
Python 3 #4 76.67 523,751 663 233.00—239.32
Python 3 #8 234.08 642,265 525 235.36—236.89
Python 3 234.20 515,047 499 235.10—237.16
Python 3 #9 66.67 392,184 614 236.43—238.45
Java -Xint 176.43 634,016 1821 432.255
Java -Xint #4 727.60 465,605 1887 727.605
Java -Xint #5 361.44 486,142 2225 825.110
Java -Xint #3 387.14 631,669 1642 1,261.164
Java -Xint #6 389.44 631,869 1614 1,264.411
Java -Xint #8   Timed Out  
reverse-complement
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
Python 3 #3 4.96 523,801 803 4.952
Python 3 #5 4.18 2,418,156 960 7.46—7.50
Python 3 #2 10.09 1,837,285 440 10.13—10.24
Python 3 10.43 2,040,713 484 10.43—10.59
Python 3 #6 7.59 2,795,930 821 11.07—11.11
Python 3 #4 13.47 4,109,324 343 13.44—13.88
Java -Xint #6 39.75 2,098,323 760 48.48—48.58
Java -Xint #4 80.45 1,949,635 656 80.51—80.60
Java -Xint #5 173.32 1,136,472 1115 173.61—173.83
Java -Xint #7   Bad Output  
Java -Xint #3   Bad Output  
binary-trees
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
Java -Xint #3 67.05 1,208,656 546 67.79—67.89
Java -Xint #6 67.56 1,276,555 535 68.29—68.36
Java -Xint #2 74.47 1,110,118 558 75.23—75.47
Java -Xint #8 94.35 1,101,459 596 95.05—95.14
Java -Xint #7 32.92 996,970 841 96.82—96.97
Java -Xint #4 98.01 1,018,921 846 98.78—98.99
Python 3 #2 100.49 281,829 344 100.69—101.09
Python 3 #4 33.37 460,771 481 121.32—121.68
Python 3 34.85 445,649 597 123.08—123.98
Python 3 #5 35.37 806,117 669 125.71—126.12
Python 3 #3 51.88 819,077 1247 148.91—149.87
Python 3 #8 560.84 821,846 535 559.592
pidigits
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
Java -Xint #3 0.87 55,919 770 0.845
* Python 3 #3 1.35 20,009 573 1.28—1.32
Java -Xint #2 1.45 58,429 944 1.428
Python 3 #4 4.63 12,718 348 4.602
Java -Xint 182.62 206,918 807 183.11—183.44
Python 3 #5   Empty  
regex-redux
  elapsed     Mean or 95% CI
source secs mem gz cpu secs
* Python 3 #2 1.41 191,300 1411 2.647
Python 3 8.96 459,624 515 16.47—16.75
Java -Xint 561.82 568,861 875 997.323
Java -Xint #6 385.95 1,320,669 746 1,011.678
Java -Xint #3 385.84 690,921 935 1,016.129
Java -Xint #2   Bad Output  
Python 3

Python 3.13.0

Java -Xint

java 23 2024-09-17
Java HotSpot(TM) 64-Bit Server VM
(build 23+37-2369,
interpreted mode, sharing)