Skip to content

Latest commit

 

History

History
36 lines (28 loc) · 1.96 KB

File metadata and controls

36 lines (28 loc) · 1.96 KB

Performance

Computers are fast, and hardware is cheap. Still, it is nice to enjoy some performance. Especially because C and C++ are well known for that.

History

In order to keep track of the performance of Cover we're using the The Computer Language Benchmarks Game.

Date Mandelbrot Fannkuch Change
2016-07-25 152.0 First running version.
2016-07-26 53.0 Switch to faster implementation mandelbrot_gcc2_split.cover.
2016-07-26 47.6 Handle doubles unboxed if possible.
2016-07-26 38.3 Add unboxed long[] and double[] arrays & switch to mandelbrot_gcc9_modified.cover.
2016-07-27 34.2 Variable scope + malloc builtin
2016-07-28 38.1 #include support
2016-07-28 250.7 (!) Parse-time type system.
2016-07-28 249.7 (!) All expressions are now typed.
2016-07-29 21.3 Don't use CoverReferences at runtime, just emit the correct write nodes directly.
2016-07-29 20.1 Mandelbrot: move local array definition out of the loop.
2016-07-31 20.3 521.2
2016-07-31 20.3 354.9 Fannkuch: block size to 1
2016-07-31 21.1 311.3 FrameSlot in CreateLocalXArray is now final!
2016-08-02 20.3 51.8 graal.TruffleBackgroundCompilation=false

Benchmarks were run on a i7 870 (2.93 GHz). The values reported are measured without any warmup. With warmup, benchmarks are about 3 seconds faster.

Comparison

For comparison, here are the fastest times for other implementations. OpenMP was not used, so these run single-core.

Benchmark Time (s) Implementation
Mandelbrot 14.7 gcc9
Mandelbrot 24.1 java1
Fannkuch 24.5 gcc5