The Computer Language
Benchmarks Game

Ruby versus Python 3 fastest programs

Back in April 2010, Russ Cox charitably suggested that only fannkuch-redux, fasta, k-nucleotide, mandlebrot, nbody, reverse-complement and spectral-norm were close to fair comparisons. As someone who implemented programming languages, his interest was "measuring the quality of the generated code when both compilers are presented with what amounts to the same program."

Differences in approach - to memory management, parallel programming, regex, arbitrary precision arithmetic, implementation technique - don't fit in that kind-of fair comparison — but we still have to deal with them.

These are only the fastest programs. There may be additional measurements for programs which seem more-like a fair comparison to you. Always look at the source code.

n-body
source secs mem gz busy cpu load
Ruby 382.36 15,760 1137 429.00 6% 100% 1% 6%
Python 3 774.34 7,844 1196 781.93 29% 0% 0% 72%
binary-trees
source secs mem gz busy cpu load
Ruby 64.75 413,136 1107 221.94 79% 90% 80% 93%
Python 3 81.03 451,324 589 288.46 95% 87% 86% 88%
pidigits
source secs mem gz busy cpu load
Ruby 3.22 328,844 485 7.50 77% 49% 75% 33%
Python 3 3.47 10,140 386 3.52 0% 1% 100% 0%
fasta
source secs mem gz busy cpu load
Ruby 66.96 97,260 1069 106.91 75% 50% 12% 23%
Python 3 63.10 682,516 1947 142.96 69% 62% 39% 57%
fannkuch-redux
source secs mem gz busy cpu load
Ruby 558.13 14,492 1454 2,138.85 100% 95% 97% 92%
Python 3 477.00 49,972 950 1,887.27 100% 97% 100% 99%
regex-redux
source secs mem gz busy cpu load
Ruby 21.68 268,116 751 68.01 94% 86% 70% 63%
Python 3 17.64 444,704 512 32.85 51% 80% 27% 28%
spectral-norm
source secs mem gz busy cpu load
Ruby 232.89 18,324 326 274.11 16% 92% 7% 2%
Python 3 175.91 51,700 443 699.17 99% 99% 99% 99%
reverse-complement
source secs mem gz busy cpu load
Ruby 24.62 1,605,020 295 45.49 61% 67% 35% 22%
Python 3 18.59 1,007,292 814 24.35 22% 29% 59% 21%
mandelbrot
source secs mem gz busy cpu load
Ruby 444.18 59,864 954 1,774.22 100% 100% 100% 100%
Python 3 284.36 52,412 688 1,137.00 100% 100% 100% 100%
k-nucleotide
source secs mem gz busy cpu load
Ruby 180.88 137,772 667 681.89 98% 99% 89% 91%
Python 3 74.12 188,140 1967 280.38 94% 94% 93% 97%
Ruby

ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
--jit

Python 3

Python 3.7.3