Unicon Benchmarks

These benchmarks are still evolving. Feedback is requested. Comments should be addressed to jeffery@cs.uidaho.edu.

Technical Report

Where to Get the Benchmarks

The Unicon Benchmarks are part of the Unicon source distribution, in directory tests/bench. See the README file for build/execute instructions. The language shootout benchmarks were adapted from http://benchmarksgame.alioth.debian.org/, which used to contain detailed descriptions, sample input, expected output, and implementations in other languages.

User-reported Benchmark Results

We will collect and report benchmark results here, on different hardware and OS configurations, as a way of comparing how different platforms serve as Unicon execution environments. A similar list was gathered for the Icon benchmarks in the late 1980's and early 1990's.

Accumulated Benchmark Results

Real (i.e. wall clock) times in seconds. Numbers in parentheses show the relative speed of the concurrent implementation (> 1.0 is a speedup, < 1.0 is a slowdown). "Cores" given here is usually half the reported number, due to hyperthreading.

Unicon
version
compiler/CPU(cores)/clock/memory/OS conc deal ipxref queen rsg bintrees chamen fannk fasta k-nuc mandel meteor n-body pi regex revc specn thring
13.0 gcc4.8.5/Xeon E3-1246(4)/3.5GHz/16G/Linux 1.60 1.34 0.91 1.79 1.16 2.67 (1.1x) 1.41 1.76 1.57 2.51 7.48 (3.4x) 2.19 2.46 1.68 2.53 (1.2x) 2.33 1.78 2.43
13.0           " (compiled NoConcurrent) 1.53 1.48 0.86 1.70 1.08 2.52 N/A 1.52 1.36 2.15 6.56 1.88 2.16 1.33 2.03 1.68 1.58 N/A
13.0 gcc4.8.4/i7-7700HQ (4)/2.8GHz/16G/Win10Linux 1.73 2.61 1.27 1.81 1.50 2.58 (0.5x) 3.33 2.09 1.63 5.64 7.59 (3.4x) 2.30 2.45 9.35 2.93 (1.2x) 2.34 1.84 3.48
13.0 gcc4.8.4/i7-5820K (4)/3.3GHz/32G/Linux 1.85 2.59 1.34 1.93 1.36 2.72 (0.2x) 5.63 3.46 1.76 9.37 7.83 (4.5x) 2.60 2.63 19.55 2.36 (0.6x) 2.64 1.90 6.74
13.0 gcc5.4.0/i5 5200U (2)/2.2GHz/8G/UNIX 2.42 1.82 1.33 2.59 1.62 3.94 (0.9x) 2.33 2.59 2.28 3.55 10.83 (1.5x) 3.12 3.56 2.32 3.52 (1x) 3.53 2.63 3.31
13.0 gcc4.8.5/i7 6850K (6)/3.6GHz/32G/UNIX 2.54 3.72 1.74 2.97 1.89 4.68 N/A 3.28 2.84 3.77 12.13 3.78 4.01 5.96 3.87 4.67 2.95 N/A
13.0 gcc5.4.0/i7 2640M (2)/2.8GHz/8G/Linux 2.69 1.73 1.49 2.33 1.99 4.75 (.99x) 2.22 3.19 3.03 4.42 11.72 (1.45x) 3.55 4.00 2.13 3.75 (1.14x) 3.58 3.56 3.38
13.0 gcc5.4.0/AMD FX-8320E (8)/3.2GHz/32G/UNIX 2.78 2.76 1.74 3.26 2.42 4.76 (0.9x) 16.55 3.19 2.90 4.41 11.91 (2.9x) 3.96 3.92 2.73 3.87 (0.9x) 5.11 3.19 12.85
13.0 gcc5.4.0/AMD A10 (4)/3.4GHz/8G/UNIX 3.21 2.47 1.35 3.55 2.82 5.17 (0.7x) 5.71 3.60 3.17 5.15 13.88 (1.8x) 4.79 4.33 2.90 4.23 (1.2x) 4.83 3.47 6.46
13.0 gcc6.3.1/i5 M460 (2)/2.5GHz/4G/UNIX 3.53 2.41 2.03 3.63 2.77 6.31 (0.8x) 4.10 3.95 3.83 8.52 15.33 (1.8x) 4.86 4.85 6.06 4.56 (1x) 5.72 3.91 8.36
13.0 clang8.1.0/i7 (4)/2.3GHz/16G/MacOS 3.78 4.11 1.66 3.77 3.47 5.72 (1x) 3.54 5.46 3.76 16.36 15.88 (4.5x) 4.96 4.79 19.77 0.80 (0.2x) 5.29 4.04 err
13.0 gcc6.3.1/Opteron4122 (4)/2.2GHz/16G/Linux 4.75 3.54 2.62 4.84 3.71 8.32 (0.7x) 5.62 4.56 4.71 6.42 19.53 (4.2x) 6.46 6.39 4.46 6.17 (1.1x) 6.63 5.26 7.50
13.0 gcc4.8.3/Opteron6272 (64)/2.1Gh/32G/Linux 4.35 4.38 2.83 5.51 4.58 8.81 (0.2x) 7.66 5.53 5.17 9.46 20.27 (11.8x) 7.13 6.68 6.63 6.45 (0.2x) 8.33 5.94 err
12.0 gcc4.6/Opteron6272 (64)/2.1GHz/32G/Linux 9.1 17.4 5.0 9.0 7.5 0.6? 8.1 9.0 8.1 11.3 2.4 11.9 11.2 16.0 8.1 14.1 9.8 10.2
12.0        " (compiled NoConcurrent) 7.7 6.1 4.2 8.1 6.6 N/A N/A 7.5 7.4 9.8 N/A 9.6 10.5 16.0 N/A 10.1 8.1 N/A
13.0 gcc4.9.2/ARMv7 (4)/1.2GHz/1G/Linux 13.07 10.80 7.33 15.13 9.55 20.25 (1.2x) 8.54 15.17 15.83 21.76 1:19.8 (1x) 27.44 26.65 38.53 22.26 (1.8x) 22.90 18.13 N/A
13.0 gcc4.4.7/Atom N570 (2)/1.66GHz/1G/UNIX 13.45 11.88 7.26 15.56 12.83 19.27 (hang?)
13.0 gcc4.9.2/ARM v7 (4)/0.9GHz/1G/UNIX 23.15 20.37 12.69 26.94 17.15 35.62 (1.2x) 18.71 26.59 29.09 39.35 2:16.1 (1x) 50.65 46.13 1:24.5 36.36 (1.7x) 39.55 32.06 N/A
13.0 gcc4.9.2/ARM v6-compatible (1)/1.0GHz/424MB/UNIX 1:00.69 1:00.50 35.29 1:13.52 1:03.33 1:36.73 (.33x) 1:08.53 1:08.32 1:22.58 3:19.44 8:10.61 (.59x) 3:30.71 3:04.33 14:37.46 1:52.14 (.52x) err err err