Personal tools

Performance/Strings

From HaskellWiki

< Performance(Difference between revisions)
Jump to: navigation, search
(Packed strings are a performance-centric alternative to Strings)
 
(Adding performance infobox for more nav options)
Line 1: Line 1:
''Strings''
+
{{Performance infobox}}
  +
==Strings==
   
 
Sometimes the cost of representing strings as lists of ''Char'' can be
 
Sometimes the cost of representing strings as lists of ''Char'' can be

Revision as of 19:03, 17 February 2006

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.