I compiled, ran all my test specs and performance test
using Crystal 0.30, 0.31, 0.32, 0.33 and 0.34
The performance degradation starts with Crystal 0.31.
System information
$ inxi -MSC
System: Host: laptop Kernel: 4.4.0-21-generic x86_64 (64 bit) Desktop: Cinnamon 3.0.7
Distro: Linux Mint 18 Sarah
Machine: System: ASUSTeK (portable) product: N551JX v: 1.0
Mobo: ASUSTeK model: N551JX v: 1.0 Bios: American Megatrends v: N551JX.207 date: 08/06/2015
CPU: Quad core Intel Core i7-4750HQ (-HT-MCP-) cache: 6144 KB
clock speeds: max: 3200 MHz 1: 2000 MHz 2: 2447 MHz 3: 1999 MHz 4: 2000 MHz 5: 2005 MHz 6: 2033 MHz
7: 2098 MHz 8: 3028 MHz
Summary
Crystal 0.30 0.31 0.32 0.33 0.34
(seconds)
Compile 105.09 144.28 147.32 145.88 154.12
Specs 150.47 163.34 163.36 163.74 169.20
Fibonacci 1.93 3.43 3.62 3.71 3.48
Detail report
===========================================
Crystal 0.30.1
===========================================
$ crystal version
Crystal 0.30.1 [5e6a1b672] (2019-08-12)
LLVM: 4.0.0
Default target: x86_64-unknown-linux-gnu
$ time crystal build main.cr -o crasy.out --release --no-debug
user : 105.09 system : 1.50 total : 1:45.15 CPU : 101%
$ ll crasy.out
... 4135464 May 18 17:45 crasy.out
$ time crystal spec
Finished in 1:49 minutes
5272 examples, 0 failures, 0 errors, 15 pending
user : 150.47 system : 2.56 total : 2:09.27 CPU : 118%
$ time ./crasy.out tests/testfibr.asy
fibonnaci(035) : 9227465
user : 1.93 system : 0.00 total : 0:01.93 CPU : 100%
===========================================
Crystal 0.31.1
===========================================
$ crystal version
Crystal 0.31.1 [0e2e1d067] (2019-09-30)
LLVM: 8.0.0
Default target: x86_64-unknown-linux-gnu
$ time crystal build main.cr -o crasy.out --release --no-debug
user : 144.28 system : 1.35 total : 2:24.47 CPU : 100%
$ ll crasy.out
... 3960576 May 18 17:58 crasy.out
$ time crystal spec
5272 examples, 0 failures, 0 errors, 15 pending
user : 163.34 system : 2.31 total : 2:18.15 CPU : 119%
$ time ./crasy.out tests/testfibr.asy
fibonnaci(035) : 9227465
user : 3.43 system : 0.00 total : 0:03.43 CPU : 100%
===========================================
Crystal 0.32.1
===========================================
$ crystal version
Crystal 0.32.1 [41bd18fbe] (2019-12-18)
LLVM: 8.0.0
Default target: x86_64-unknown-linux-gnu
$ time crystal build main.cr -o crasy.out --release --no-debug
user : 147.32 system : 1.43 total : 2:27.13 CPU : 101%
$ ll crasy.out
... 3897608 May 18 18:06 crasy.out
$ time crystal spec
5272 examples, 0 failures, 0 errors, 15 pending
user : 163.36 system : 2.51 total : 2:16.67 CPU : 121%
$ time ./crasy.out tests/testfibr.asy
fibonnaci(035) : 9227465
user : 3.62 system : 0.00 total : 0:03.62 CPU : 100%
===========================================
Crystal 0.33.0
===========================================
$ crystal version
Crystal 0.33.0 [612825a53] (2020-02-14)
LLVM: 8.0.0
Default target: x86_64-unknown-linux-gnu
$ time crystal build main.cr -o crasy.out --release --no-debug
user : 145.88 system : 1.64 total : 2:26.41 CPU : 100%
$ ll crasy.out
.. 3913952 May 18 18:15 crasy.out
$ time crystal spec
5272 examples, 0 failures, 0 errors, 15 pending
user : 163.74 system : 2.56 total : 2:16.79 CPU : 121%
$ time ./crasy.out tests/testfibr.asy
fibonnaci(035) : 9227465
user : 3.71 system : 0.00 total : 0:03.71 CPU : 100%
===========================================
Crystal 0.34.0
===========================================
$ crystal version
Crystal 0.34.0 [4401e90f0] (2020-04-06)
LLVM: 8.0.0
Default target: x86_64-unknown-linux-gnu
$ time crystal build main.cr -o crasy.out --release --no-debug
user : 154.12 system : 1.66 total : 2:34.67 CPU : 100%
$ ll crasy.out
... 3914176 May 18 18:30 crasy.out
$ time crystal spec
5272 examples, 0 failures, 0 errors, 15 pending
user : 169.20 system : 2.78 total : 2:23.69 CPU : 119%
$ time ./crasy.out tests/testfibr.asy
fibonnaci(035) : 9227465
user : 3.48 system : 0.00 total : 0:03.50 CPU : 99%