[NAME]
ALL.misc.benchmarks

[TITLE]
Benchmarks

[DESCRIPTION]

Here are some random benchmarks which shouldn't be taken too seriously. They are 
presented to give developers some rough idea what one can expect from Dao regarding its
efficiency. These benchmarks by no means indicate the performance of these languages in 
real applications.

Some of the benchmarks are taken from the The Computer Language Benchmarks Game. All the
tested benchmarks are available here benchmarks;

The following languages are chosen for comparison,
 Language  Version/Compiler       
 Dao       2.0-devel-2013-11-10   
 Lua       5.1.5                  
 Python    2.7.2                  
 Go        1.1.1                  
 Java      1.6                    
 C         Apple Clang V4.0 (-O2) 


The benchmarks are executed on Mac OS X 10.8.4 with 1.8GHz Intel Core i5. In these tests,
time is measured in seconds (S), and memory is measured in Mega-Bytes (M).
 Program         Argument    Dao   Dao+JIT   Speedup       Lua   Python   Java     C 
 nbody           10000000   35.7      11.9      3.0X      93.2    261.4    2.0   1.7 
 fannkuch              11   59.3      16.0      3.7X     135.1    279.0    3.1   2.9 
 mandelbrot          4000   24.1       4.3      5.7X      55.8    132.1    2.7   2.3 
 spectral-norm       3000   20.5       2.0     10.4X      69.4    287.1    2.6   1.9 
 binary-trees          16   30.4      30.3      1.0X      20.7     19.7    0.6   4.5 
 pidigits            5000    9.0       8.8      1.0X      40.8      2.7    6.2    -- 
 meteor              2098    5.5       5.5      1.0X       2.1      9.6    0.4   0.1 
 meteor2             2098    2.0        --        --       2.1      9.6    0.4   0.1 
Note: meteor is a port of the Python meteor program; meteor2 is a port of the C meteor 
program; and DaoJIT did not work on the meteor2 program.

The followings are a couple of benchmarks to compare Dao to Go.
Time:
 Program                   Test Case       Dao   Dao+JIT        Go 
 massive-tasklets    100000 tasklets   119.9 S    43.5 S   156.7 S 
 massive-messages   1000000 messages    85.5 S    84.9 S     0.7 S 

Memory:
 Program                   Test Case       Dao   Dao+JIT        Go 
 massive-tasklets    100000 tasklets   135.0 M   140.0 M   533.0 M 
 massive-messages   1000000 messages     4.8 M     6.7 M     7.3 M