The Computer Language
23.03 Benchmarks Game

Perl versus 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 169.71 29,140 1455 656.90
Perl #3 1,233.33 10,840 427 1,233.17
Ruby 1,466.53 24,936 384 1,466.47
Perl #2 421.78 12,164 570 1,677.14
Perl 1,806.93 10,844 457 1,806.70
n-body
source secs mem gz cpu secs
Ruby #3 190.96 25,644 1163 190.95
Ruby #2 218.13 25,684 1137 218.04
Perl #2 405.03 10,904 1429 404.98
spectral-norm
source secs mem gz cpu secs
Perl #4 25.06 12,116 555 98.69
Perl #5 102.09 10,908 340 102.07
Perl 103.18 10,908 333 103.17
Ruby #4 134.68 27,356 326 134.67
Ruby 136.75 26,644 292 136.69
Ruby #5 57.56 28,488 758 210.10
Perl #3 128.66 10,908 850 510.64
Perl #2 529.19 10,908 343 529.02
mandelbrot
source secs mem gz cpu secs
Ruby #5 155.55 93,112 970 619.59
Ruby #4 747.10 145,736 857 746.96
Ruby #2 255.19 95,912 880 1,015.91
Ruby #3 1,526.22 25,276 307 1,526.08
Perl 478.47 77,044 586 1,900.78
Ruby #6   Failed  
Ruby #7   Failed  
pidigits
source secs mem gz cpu secs
Ruby #5 1.64 894,828 488 1.64
Ruby #2 4.08 4,777,808 660 4.08
Perl 10.35 12,684 463 10.35
Ruby 17.24 167,116 518 17.24
Perl #4   Failed  
Perl #2   Failed  
regex-redux
source secs mem gz cpu secs
Perl 22.52 205,596 464 22.52
Ruby #3 12.56 217,132 724 24.73
Ruby #2 24.86 242,680 437 24.84
Perl #2 17.08 205,220 710 29.44
Ruby #9 29.71 217,156 321 29.71
Perl #4 10.41 157,184 820 30.81
Perl #3 10.52 409,996 854 31.05
Perl #5   Bad Output  
fasta
source secs mem gz cpu secs
Ruby #6 26.18 124,704 1069 26.18
Ruby #3 46.23 124,612 1002 46.23
Perl 61.00 55,380 871 60.99
Ruby #2 105.47 223,092 743 105.46
Ruby #5 112.99 27,152 995 112.98
Ruby #4 113.43 269,460 860 113.28
Perl #4 123.00 10,896 966 122.68
Perl #2 174.19 10,896 922 173.96
k-nucleotide
source secs mem gz cpu secs
Perl #2 114.21 659,832 359 114.19
Perl #4 40.72 1,069,244 476 127.66
Perl 38.38 1,247,436 652 131.20
Perl #3 51.56 1,146,964 513 168.22
Ruby #2 249.91 202,672 420 249.53
Ruby #3 285.77 209,580 540 285.36
Ruby #7 289.86 397,756 785 287.45
Ruby 83.82 174,084 576 291.63
reverse-complement
source secs mem gz cpu secs
Perl #4 5.52 998,432 261 5.52
Perl #3 6.44 1,495,072 287 6.44
Ruby #4 5.60 2,506,468 601 11.05
Ruby #5 11.77 1,615,676 295 11.77
Ruby #3 8.25 4,445,520 482 15.86
Ruby #2 23.00 1,003,740 264 23.00
Ruby 17.18 5,610,896 514 33.33
binary-trees
source secs mem gz cpu secs
Ruby #4 46.86 569,364 364 46.85
Ruby #2 48.74 569,392 378 48.73
Ruby 48.74 569,348 376 48.74
Ruby #3 50.83 402,724 400 50.80
Ruby #5 18.36 565,588 1008 52.32
Perl #6 41.09 760,080 792 151.46
Perl #5 53.48 1,048,556 797 197.47
Perl 254.18 599,668 395 254.16
Perl #4 79.93 2,519,600 761 288.88
Perl #3 113.93 2,203,376 648 383.93
Perl

This is perl 5, version 36
subversion 0 (v5.36.0)
x86_64-linux-thread

Ruby

ruby 3.2.0
(2022-12-25
revision a528908271)
+YJIT [x86_64-linux]