The Computer Language
24.04 Benchmarks Game

Erlang 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
Erlang 67.13 42,432 1044 264.91
Ruby #2 139.77 21,120 1462 536.11
Ruby 1,380.34 20,992 391 1,380.29
n-body
source secs mem gz cpu secs
Erlang #3 104.36 42,236 1405 104.40
Ruby #3 188.71 21,248 1169 188.71
Ruby #2 215.31 21,248 1143 215.31
spectral-norm
source secs mem gz cpu secs
Erlang #2 11.75 51,176 753 45.92
Erlang 62.78 53,460 513 62.88
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
mandelbrot
source secs mem gz cpu secs
Erlang #3 52.26 72,520 798 208.31
Erlang #4 54.50 73,988 813 217.27
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
Ruby #6   Failed  
Erlang   Bad Output  
Erlang #2   Bad Output  
Ruby #7   Failed  
pidigits
source secs mem gz cpu secs
Ruby #5 1.56 850,304 494 1.55
Ruby #2 3.22 2,271,624 666 3.22
Erlang #3 3.38 56,616 568 4.45
Erlang #2 3.27 61,680 518 5.16
Erlang 6.01 74,676 565 6.75
Ruby 16.56 104,192 524 16.55
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
Erlang #6 22.65 5,214,780 1055 42.40
fasta
source secs mem gz cpu secs
Erlang #2 18.95 41,932 1170 21.45
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
Erlang 86.89 40,612 1045 175.84
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
Erlang #3 5,904.10 556,024 945 6,158.16
Erlang 5,894.88 4,485,776 944 6,183.90
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
Ruby #2 24.46 1,001,852 272 24.46
Ruby 18.75 5,147,124 521 36.24
Erlang 1,799.36 1,801,408 1309 2,028.27
Erlang #4   Timed Out  
Erlang #3   Timed Out  
binary-trees
source secs mem gz cpu secs
Erlang 10.86 469,136 426 11.07
Erlang #2 5.02 465,116 485 14.02
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
Erlang

Erlang/OTP 26 [erts-14.2.2]
[source] [64-bit] [smp:4:4]
[ds:4:4:10] [async-threads:1] [jit:ns]

Ruby

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