The Computer Language
24.04 Benchmarks Game

Ruby yjit versus Python 3 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
source secs mem gz cpu secs
Ruby yjit #2 139.77 21,120 1462 536.11
Python 3 #6 1,031.38 19,652 391 1,031.34
Python 3 #4 300.68 19,652 960 1,189.39
Ruby yjit 1,380.34 20,992 391 1,380.29
n-body
source secs mem gz cpu secs
Ruby yjit #3 188.71 21,248 1169 188.71
Ruby yjit #2 215.31 21,248 1143 215.31
Python 3 #2 362.72 19,656 1247 362.70
Python 3 368.32 19,656 1201 368.30
spectral-norm
source secs mem gz cpu secs
Ruby yjit 126.55 22,144 299 126.54
Ruby yjit #4 129.16 22,912 333 129.16
Ruby yjit #5 64.82 27,520 764 236.48
Python 3 #7 90.77 19,656 425 359.32
Python 3 #6 359.89 19,656 334 359.83
Python 3 #8 98.97 19,656 415 386.79
mandelbrot
source secs mem gz cpu secs
Ruby yjit #5 151.07 86,272 978 603.13
Python 3 #7 159.49 19,656 698 634.00
Ruby yjit #4 661.22 136,132 862 661.94
Python 3 #3 820.95 19,624 319 820.91
Python 3 #2 232.82 156,340 790 880.90
Ruby yjit #2 259.17 94,336 887 1,034.44
Python 3 #5 274.66 19,628 463 1,094.30
Ruby yjit #3 1,538.89 21,120 313 1,538.80
Ruby yjit #6   Failed  
Ruby yjit #7   Failed  
pidigits
source secs mem gz cpu secs
Python 3 #3 1.31 19,784 573 1.31
Ruby yjit #5 1.56 850,304 494 1.55
Ruby yjit #2 3.22 2,271,624 666 3.22
Python 3 #4 4.73 19,656 348 4.73
Ruby yjit 16.56 104,192 524 16.55
Python 3 #5   Failed  
regex-redux
source secs mem gz cpu secs
Python 3 #2 1.35 168,092 1411 2.62
Python 3 8.83 432,724 515 16.44
Ruby yjit #2 23.19 216,576 444 23.19
Ruby yjit #3 11.84 216,576 730 24.21
Ruby yjit #9 30.10 216,576 327 30.09
fasta
source secs mem gz cpu secs
Ruby yjit #6 23.07 120,064 1070 23.07
Ruby yjit #3 35.52 120,064 1004 35.52
Python 3 #2 38.53 19,652 1126 38.53
Python 3 #3 38.86 19,780 1007 38.86
Python 3 #5 26.54 827,148 1951 53.26
Python 3 60.37 19,652 823 60.37
Ruby yjit #5 91.70 22,784 1000 91.69
Ruby yjit #2 93.97 147,548 747 93.97
Ruby yjit #4 95.74 266,496 864 95.73
k-nucleotide
source secs mem gz cpu secs
Python 3 #3 48.64 262,016 1970 184.81
Ruby yjit #7 256.92 393,216 792 255.31
Ruby yjit #2 255.78 181,700 426 255.60
Python 3 #8 87.79 506,880 663 262.44
Python 3 #9 77.06 380,416 614 263.65
Ruby yjit #3 272.84 203,672 546 273.06
Python 3 275.64 500,224 499 274.74
Ruby yjit 84.88 172,436 583 300.65
reverse-complement
source secs mem gz cpu secs
Python 3 #3 5.18 509,108 803 5.18
Python 3 #5 4.07 1,500,240 960 7.41
Python 3 #2 10.46 1,788,876 440 10.46
Python 3 10.69 1,987,304 484 10.69
Ruby yjit #5 10.77 1,624,300 301 10.76
Python 3 #6 7.86 2,484,084 821 11.49
Ruby yjit #4 6.88 2,510,956 608 12.51
Python 3 #4 13.91 4,003,712 343 13.91
Ruby yjit #3 9.57 4,232,604 490 17.72
Ruby yjit #2 24.46 1,001,852 272 24.46
Ruby yjit 18.75 5,147,124 521 36.24
binary-trees
source secs mem gz cpu secs
Ruby yjit #4 46.87 478,848 371 46.86
Ruby yjit 48.73 478,976 383 48.72
Ruby yjit #2 48.78 478,976 385 48.76
Ruby yjit #3 50.16 515,924 407 50.14
Ruby yjit #5 18.96 521,984 1016 53.93
Python 3 #2 110.47 273,024 344 110.46
Python 3 #4 34.53 277,632 481 126.59
Python 3 #5 35.74 275,456 669 127.53
Python 3 36.16 277,760 597 128.12
Python 3 #3 55.05 672,384 1247 158.56
Ruby yjit

ruby 3.3.0
(2023-12-25
revision 5124f9ac75)
+YJIT [x86_64-linux]

Python 3

Python 3.12.2