Crystal implementations for The Computer Language Benchmarks Game

June 4, 2020 ยท View on GitHub

Compared to C, and Ruby implementations from http://benchmarksgame.alioth.debian.org/ .

Running on AMD Ryzen 7 3800X, 16Gb DDR-4 3200 Mghz, Gentoo Linux x86_64.

My other benchmarks: Benchmarks, Jit Benchmarks.

To run and build:

cd DIR
sh build.sh 
sh run.sh

Binarytrees

LanguageTime,sMemory, Mb
Java0.46296.5
C++1.1629.4
Crystal1.3549.5
C2.0233.4
Ruby15.15106.5

Fannkuchredux

LanguageTime,sMemory, Mb
C2.550.7
Crystal2.563.9
Ruby75.329.0

Fasta

LanguageTime,sMemory, Mb
C1.710.7
Crystal2.213.8
Ruby57.58149.0

Knucleotide

LanguageTime,sMemory, Mb
Go0.156.6
Crystal0.8733.8
Ruby3.9338.4

Mandelbrot

LanguageTime,sMemory, Mb
Crystal5.513.8
C5.610.7
Ruby243.3810.2

Meteor

LanguageTime,sMemory, Mb
C0.040.7
Crystal0.104.0

NBody

LanguageTime,sMemory, Mb
C0.761.0
Crystal0.993.9
Ruby62.688.8

Pidigits

LanguageTime,sMemory, Mb
C2.223.3
Crystal11.877.9
Ruby15.02153.3

Regexdna

LanguageTime,sMemory, Mb
Crystal0.8420.7
C0.9211.1
Ruby0.9319.0

Revcomp

LanguageTime,sMemory, Mb
C0.133.7
Crystal0.99326.4
Ruby1.5284.7

Spectralnorm

LanguageTime,sMemory, Mb
C1.150.9
Crystal1.274.4
Ruby188.3510.7

Threadring

LanguageTime,sMemory, Mb
Crystal0.275.9
Go0.702.9
Erlang1.3330.9
Ruby8.3922.0

TODO

  • chameneosredux

Versions

  • gcc (Gentoo 9.2.0-r2 p3) 9.2.0
  • ruby 2.5.8p224 (2020-03-31 revision 67882) [x86_64-linux]
  • Crystal 0.33.0 (2020-04-20) LLVM: 9.0.1
  • go version go1.13.9 linux/amd64
  • java: openjdk version "1.8.0_242" OpenJDK Runtime Environment (IcedTea 3.15.0) (Gentoo icedtea-3.15.0)
  • Erlang/OTP 22 [erts-10.7] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe]