Performance/Strings

From HaskellWiki
< Performance
Revision as of 19:03, 17 February 2006 by BrettGiles (talk | contribs) (Adding performance infobox for more nav options)
Jump to navigation Jump to 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

Strings

Sometimes the cost of representing strings as lists of Char can be too much. In this case, you can instead use packed strings. There are a number of options:

* The standard Data.PackedString type
* One of the newer packed string libraries, for example FastPackedString
* Unboxed arrays of Word8 or Char
* Ptrs to foreign malloced Word8 buffers

The packed string libraries have the benefit over arrays of Word8 or Char types, in that the provide the usual list-like operations.