Personal tools

Performance/Yhc

From HaskellWiki

< Performance
Revision as of 10:40, 10 January 2009 by Rk (Talk | contribs)

Jump to: navigation, search
Haskell Performance Resource

Constructs:
Data Types - Functions
Overloading - FFI - Arrays
Strings - Integers - I/O
Floating point - Concurrency
Modules - Monads

Techniques:
Strictness - Laziness
Avoiding space leaks
Accumulating parameter

Implementation-Specific:
GHC - nhc98 - Hugs
Yhc - JHC

Yhc is not optimised for speed, and as such does not infer strictness information, and does not honour any specialise pragmas. If your program is time critical, using GHC would probably be a better bet. In particular, Yhc does no inlining, so if you have a time critical inner loop and have to use Yhc, then inlining manually would probably be a good idea.

Yhc is optimised for small size useage, and should require less heap space than other compilers. There are no space optimisations that can be made that will help Yhc, beyond those which are useful for all Haskell compilers.