The Computer Language
24.04 Benchmarks Game

Ruby versus Matz's Ruby 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
Ruby #2 139.77 21,120 1462 536.11
Ruby 1,380.34 20,992 391 1,380.29
Matz's Ruby 11,806.75 11,172 384 11,806.00
Matz's Ruby #2 4,248.27 10,952 1455 16,306.91
n-body
source secs mem gz cpu secs
Ruby #3 188.71 21,248 1169 188.71
Ruby #2 215.31 21,248 1143 215.31
Matz's Ruby #2 2,641.26 11,096 1137 2,641.13
Matz's Ruby #3 2,685.89 11,100 1163 2,685.75
spectral-norm
source secs mem gz cpu secs
Ruby 126.55 22,144 299 126.54
Ruby #4 129.16 22,912 333 129.16
Ruby #5 64.82 27,520 764 236.48
Matz's Ruby 1,618.02 11,056 292 1,617.89
Matz's Ruby #4 1,750.56 11,056 326 1,750.22
Matz's Ruby #5 640.85 11,056 758 2,422.71
mandelbrot
source secs mem gz cpu secs
Ruby #5 151.07 86,272 978 603.13
Ruby #4 661.22 136,132 862 661.94
Ruby #2 259.17 94,336 887 1,034.44
Ruby #3 1,538.89 21,120 313 1,538.80
Matz's Ruby #3 8,406.04 11,168 307 8,404.86
Matz's Ruby #4 9,067.35 146,560 857 9,065.25
Matz's Ruby #6 2,699.23 194,148 890 9,983.47
Matz's Ruby #2 2,700.66 71,144 880 10,748.11
Matz's Ruby #5   Failed  
Ruby #6   Failed  
Matz's Ruby #7   Failed  
Ruby #7   Failed  
pidigits
source secs mem gz cpu secs
Matz's Ruby #5 1.50 299,640 481 1.50
Ruby #5 1.56 850,304 494 1.55
Matz's Ruby #2 2.75 118,660 654 2.75
Ruby #2 3.22 2,271,624 666 3.22
Ruby 16.56 104,192 524 16.55
Matz's Ruby   Bad Output  
regex-redux
source secs mem gz cpu secs
Ruby #2 23.19 216,576 444 23.19
Ruby #3 11.84 216,576 730 24.21
Ruby #9 30.10 216,576 327 30.09
Matz's Ruby #2 34.08 229,808 437 34.04
Matz's Ruby #3 16.05 229,908 724 37.74
Matz's Ruby #9 39.70 229,820 321 39.69
fasta
source secs mem gz cpu secs
Ruby #6 23.07 120,064 1070 23.07
Ruby #3 35.52 120,064 1004 35.52
Ruby #5 91.70 22,784 1000 91.69
Ruby #2 93.97 147,548 747 93.97
Ruby #4 95.74 266,496 864 95.73
Matz's Ruby #6 289.49 101,988 1071 289.23
Matz's Ruby #3 300.47 101,972 1020 300.21
Matz's Ruby #4 339.56 275,604 860 339.24
Matz's Ruby #5 383.82 11,144 995 383.63
Matz's Ruby #2 447.97 248,352 743 447.94
k-nucleotide
source secs mem gz cpu secs
Ruby #7 256.92 393,216 792 255.31
Ruby #2 255.78 181,700 426 255.60
Ruby #3 272.84 203,672 546 273.06
Ruby 84.88 172,436 583 300.65
Matz's Ruby #2 517.05 168,140 420 516.67
Matz's Ruby 191.91 147,340 576 642.05
Matz's Ruby #3 757.75 168,844 540 757.17
Matz's Ruby #7   Failed  
reverse-complement
source secs mem gz cpu secs
Ruby #5 10.77 1,624,300 301 10.76
Ruby #4 6.88 2,510,956 608 12.51
Ruby #3 9.57 4,232,604 490 17.72
Matz's Ruby #2 23.82 755,060 264 23.82
Ruby #2 24.46 1,001,852 272 24.46
Ruby 18.75 5,147,124 521 36.24
Matz's Ruby   Failed  
Matz's Ruby #5   Failed  
Matz's Ruby #3   Failed  
Matz's Ruby #4   Failed  
binary-trees
source secs mem gz cpu secs
Ruby #4 46.87 478,848 371 46.86
Ruby 48.73 478,976 383 48.72
Ruby #2 48.78 478,976 385 48.76
Ruby #3 50.16 515,924 407 50.14
Ruby #5 18.96 521,984 1016 53.93
Matz's Ruby #3 587.85 840,236 400 587.53
Matz's Ruby #4 711.74 1,558,908 364 711.44
Matz's Ruby 788.34 1,561,420 376 788.27
Matz's Ruby #2 800.92 1,559,712 378 800.84
Matz's Ruby #5 308.13 1,493,752 1008 965.05
Ruby

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

Matz's Ruby

ruby 1.8.7
(2014-01-28
patchlevel 376)
[x86_64-linux]