/mobile Handheld Friendly website

÷

 1 : Are the ATS programs faster? At a glance.

Each chart bar shows, for one unidentified benchmark, how much the fastest ATS program used compared to the fastest C++ g++ program.


These are not the only compilers and interpreters. These are not the only programs that could be written. These are not the only tasks that could be solved. These are just 10 tiny examples.

 2 : Are the ATS programs faster? Approximately.

Each table row shows, for one named benchmark, how much the fastest ATS program used compared to the fastest C++ g++ program.

 ATS used what fraction? used how many times more? 
Benchmark Time Memory Code
 binary-trees±±
 pidigits±1/2±
 spectral-norm±±
 fasta-redux±1/2
 reverse-complement †±1/2±
 mandelbrot±±
 fasta±1/3
 regex-dna±
 n-body1/2±
 k-nucleotide±
 fannkuch-redux †1/3±
 ATS used what fraction? used how many times more? 
Time-used  |-  |---  25% median  75%  ---|  -|
(Elapsed secs)±±±±

† possible mismatch - one-core program compared to multi-core program.

± read the measurements and then read the program source code.

 3 : Are the ATS programs faster? Measurements.

These are not the only tasks that could be solved. These are just 10 tiny examples. These are not the only compilers and interpreters. These are not the only programs that could be written.

For each named benchmark, measurements of the fastest ATS program are shown for comparison against measurements of the fastest C++ g++ program.

Program Source Code CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
 binary-trees 
ATS18.296.19328,5162143  64% 99% 71% 62%
C++ g++32.349.25360,404892  89% 79% 95% 88%
 pidigits 
ATS1.881.89816942  0% 99% 0% 1%
C++ g++2.292.301,648682  0% 0% 0% 100%
 spectral-norm 
ATS10.652.717202507  99% 97% 99% 99%
C++ g++10.022.524921044  100% 100% 100% 100%
 fasta-redux 
ATS1.881.883642593  0% 1% 0% 100%
C++ g++1.701.718321474  0% 0% 1% 100%
 reverse-complement 
ATS0.860.87122,6761895  1% 99% 0% 1% †
C++ g++1.220.77245,6922275  12% 55% 49% 46% †
 mandelbrot 
ATS24.556.1526,8482148  100% 100% 100% 100%
C++ g++19.295.0132,288726  95% 99% 96% 95%
 fasta 
ATS5.205.203642104  0% 100% 0% 0%
C++ g++4.164.161,0721286  0% 0% 100% 0%
 regex-dna 
ATS24.956.67221,1123474  94% 96% 92% 94%
C++ g++5.834.10173,632695  0% 60% 82% 0%
 n-body 
ATS20.2820.294281920  0% 100% 0% 0%
C++ g++10.0710.078281763  0% 0% 1% 100%
 k-nucleotide 
ATS92.3225.57177,8323810  88% 96% 89% 88%
C++ g++25.897.79155,9161252  78% 80% 78% 98%
 fannkuch-redux 
ATS51.4751.493641571  0% 0% 0% 100% †
C++ g++47.9512.291,2361440  100% 93% 100% 98% †

† possible mismatch - one-core program compared to multi-core program.

 4 : Are there other ATS programs for these benchmarks?

Remember - those are just the fastest ATS and C++ g++ programs measured on this OS/machine. Check if there are other implementations of these benchmark programs for ATS.

Maybe one of those other ATS programs is fastest on a different OS/machine.

 5 : Are there other faster programs for these benchmarks?

Remember - those are just the fastest ATS and C++ g++ programs measured on this OS/machine. Check if there are faster implementations of these benchmark programs for other programming languages.

Maybe one of those other programs is fastest on a different OS/machine.

 ATS : dependent types & linear types plus theorem proving 

online book Programming in ATS

ATS/Anairiats version 0.2.9

Home Page: ATS -- unleashing the potential of types!

Revised BSD license

  Home   Conclusions   License   Play