[NAME]
ALL.misc.benchmarks

[TITLE]
Benchmarks

[DESCRIPTION]

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

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-beta2               
  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   33.9      10.5      3.2X      93.2    261.4    2.0   1.7  
  fannkuch              11   62.0      13.4      4.6X     135.1    279.0    3.1   2.9  
  mandelbrot          4000   27.7       6.1      4.5X      55.8    132.1    2.7   2.3  
  spectral-norm       3000   20.7       3.4      6.1X      69.4    287.1    2.6   1.9  
  binary-trees          16   26.4      26.3      1.0X      20.7     19.7    0.6   4.5  
  pidigits            5000   11.4      11.2      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    1.9       1.9      1.0X       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 pr
ogram.

The followings are a couple of benchmarks to compare Dao to Go.
Time:
                                                                     
  Program                   Test Case       Dao   Dao+JIT        Go  
  massive-tasklets    100000 tasklets   113.2 S    43.0 S   156.7 S  
  massive-messages   1000000 messages    80.5 S    82.8 S     0.7 S  
                                                                     

Memory:
                                                                     
  Program                   Test Case       Dao   Dao+JIT        Go  
  massive-tasklets    100000 tasklets   136.0 M   143.0 M   533.0 M  
  massive-messages   1000000 messages     2.2 M     5.3 M     7.3 M