Haskell optimization
edit2: added Real World Haskell link via Mr. baja :-)
(edit1: tiny formatting correction)
(edit1: tiny formatting correction)
- Chapter 25. Profiling and optimization from Real World Haskell by Bryan O'Sullivan, Don Stewart, and John Goerzen
- Acovea (Analysis of Compiler Options via Evolutionary Algorithm) - this is compatible with virtually all compilers
- Evolving faster Haskell programs via Acovea - 18% runtime reduction in one case, even for hand-tuned code!
- Haskell as fast as C: working at a high altitude for low level performance - this shows that introducing higher abstractions shouldn't automatically cause a slowdown
- Map fusion: Making Haskell 225% faster a similar article
- HaskellWiki: Performance/GHC optimization tricks and tips to apply by hand
- And a little reminder about the secret option used during our discussion on performance analysis:
ghc -ddump-simpl $FILE > core.txt
Hey, this is just the post I've been looking for!
ReplyDeleteAlthough I was surprised not to find the fitting chapter from Real World Haskell on your list:
http://book.realworldhaskell.org/read/profiling-and-optimization.html
It comes with another handful of secret profiling options and gorgeous gnuplot diagrams.
@baja: Thank you for the link my friend. I must agree that this was missing badly! The material looks pretty familiar though, especially the source code in question (but not the diagrams!). :-) I think I had browsed through this chapter some months ago, but forgot to bookmark it back then. However, now that I've checked it out, this comes up on the first result page when searching for "optimizing Haskell"... :-D Lesson learned.
ReplyDeleteAnd is your strictness related assignment seeing any progress yet? :-)