Skip to content

sordina/HaskellEvolutionProfile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published