/mobile Handheld Friendly website

÷

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

This chart shows 3 comparisons - Time-used, Memory-used and Code-used ~ speed and size.

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


Look at speed another way - look at a box plot of Time-used data.

 Step 2 : Are the ATS programs faster? Approximately.

This table shows 3 comparisons - Time-used, Memory-used and Code-used ~ speed and size.

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

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

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

 Step 3 : Are the ATS programs faster? Measurements.

This table shows 5 measurements - CPU Time, Elapsed Time, Memory, Code and ≈ CPU Load ~ speed and size.

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

Program Source Code CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
 fasta-redux 
ATS2.122.122562593  0% 0% 1% 100%
C++ GNU g++2.942.945801474  1% 0% 0% 100%
 fasta 
ATS5.145.152562102  0% 0% 0% 100%
C++ GNU g++6.316.312561266  0% 100% 0% 0%
 pidigits 
ATS2.742.74828942  0% 0% 1% 100%
C++ GNU g++2.742.751,680682  0% 100% 0% 0%
 mandelbrot 
ATS24.066.0328,3282148  100% 100% 100% 100%
C++ GNU g++23.755.9732,0601017  99% 100% 99% 99%
 binary-trees 
ATS17.885.98218,3322143  100% 64% 65% 71%
C++ GNU g++16.925.91173,424892  67% 90% 69% 58%
 n-body 
ATS20.7020.702841920  0% 0% 0% 100%
C++ GNU g++20.1520.152841659  0% 0% 0% 100%
 spectral-norm 
ATS10.582.925722507  99% 68% 96% 99%
C++ GNU g++10.042.526081044  100% 100% 100% 100%
 reverse-complement 
ATS1.101.11122,5921895  2% 0% 1% 100%
C++ GNU g++1.270.87245,4322275  51% 21% 39% 43%
 regex-dna 
ATS33.508.83223,0563461  94% 94% 98% 95%
C++ GNU g++17.065.7994,8961759  74% 60% 64% 100%
 fannkuch-redux 
ATS49.0149.022561306  0% 0% 0% 100%
C++ GNU g++47.9912.239521440  100% 96% 100% 98%
 k-nucleotide 
ATS58.1817.09158,8243810  83% 80% 97% 81%
C++ GNU g++12.463.71131,9523415  79% 84% 80% 95%

 Step 4 : Are there other ATS programs for these benchmarks?

Remember - those are just the fastest ATS and C++ GNU 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.

 Step 5 : Are there other faster programs for these benchmarks?

Remember - those are just the fastest ATS and C++ GNU 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.6

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

Revised BSD license

  Home   Conclusions   License   Help