sordina / HaskellEvolutionProfile

Profiling "Evolution of a Haskell Programmer"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HaskellEvolutionProfile

This project aims to profile the various factorial solutions presented in "Evolution of a Haskell Programmer" by using the Criterion profiling library.

Omissions

The static solution won't have a run-time component worth profiling ;-)

Running

The runtimes are calculated for an average of 100 evaluations of fac 8.

Generate a profiling report by running make. The report should be generated at "images/report1.html".

I reran the report three-times with the worst offenders removed to show the variance between good solutions. These results can be found at "images/report2.html", "images/report3.html" and "images/report4.html" respectively.

Results

The memoizing solution seems to be the clear winner at this point, with PHD solution being the clear loser:

X-Axis in milliseconds:

All results

X-Axis in microseconds:

Partial results 2

X-Axis in nanoseconds:

Partial results 3

X-Axis in nanoseconds:

Partial results 4

About

Profiling "Evolution of a Haskell Programmer"


Languages

Language:Haskell 100.0%