/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
 binary-trees±±
 pidigits±1/2±
 fasta±±
 mandelbrot±±
 fasta-redux±1/2
 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
 binary-trees 
ATS18.856.39328,2282143  63% 99% 54% 83%
C++ GNU g++27.338.93360,432892  64% 87% 62% 96%
 pidigits 
ATS1.891.89808942  1% 0% 1% 99%
C++ GNU g++2.292.301,644682  0% 0% 0% 100%
 fasta 
ATS5.245.253282102  0% 1% 0% 100%
C++ GNU g++6.166.173561266  0% 100% 0% 0%
 mandelbrot 
ATS23.145.8028,1602148  100% 100% 100% 100%
C++ GNU g++24.316.1132,2961017  100% 100% 100% 100%
 fasta-redux 
ATS2.002.003322593  0% 0% 1% 100%
C++ GNU g++2.002.008201474  0% 100% 0% 1%
 n-body 
ATS20.4120.413521920  0% 0% 0% 100%
C++ GNU g++19.3019.314281659  0% 100% 0% 0%
 spectral-norm 
ATS10.612.906442507  99% 89% 78% 98%
C++ GNU g++10.022.525041044  100% 100% 100% 100%
 reverse-complement 
ATS0.890.89120,5641895  0% 0% 1% 100%
C++ GNU g++1.060.68245,7122275  54% 50% 18% 37%
 regex-dna 
ATS26.056.97226,2083461  94% 92% 94% 97%
C++ GNU g++5.654.11163,956695  38% 76% 23% 2%
 fannkuch-redux 
ATS49.0749.083281306  0% 0% 100% 0%
C++ GNU g++50.3512.871,2401440  100% 94% 100% 98%
 k-nucleotide 
ATS87.5224.21177,6003810  93% 87% 93% 88%
C++ GNU g++10.322.97139,0163415  84% 99% 85% 82%

 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