Difference between revisions of "Performance/IO"

From HaskellWiki
Jump to navigation Jump to search
(+cat)
(Expand on Library/Streams description.)
Line 9: Line 9:
 
Some external libraries also provide memory mapped IO.
 
Some external libraries also provide memory mapped IO.
   
You may also wish to check out [[Library/Streams]] for a new approach to I/O.
+
[[Library/Streams]] is a new (in 2006) approach to I/O, which claims to be 5-10 times faster on some operations than handle-based IO.

Revision as of 06:16, 30 August 2009

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

I/O

If the standard lazy IO operations are proving to be a bottleneck, buffer-based IO is an alternative (hGetBuf/hPutBuf). This can be particularly effective when combined with packed strings (see wc).

Some external libraries also provide memory mapped IO.

Library/Streams is a new (in 2006) approach to I/O, which claims to be 5-10 times faster on some operations than handle-based IO.