Description
Memory-efficient representation of Unicode text strings.
Description
This package provides the ShortText
type which is suitable for keeping many short strings in memory. This is similiar to how ShortByteString
relates to ByteString
.
The main difference between Text
and ShortText
is that ShortText
doesn't support zero-copy slicing (thereby saving 2 words), and, compared to text-1.*, that it uses UTF-8 instead of UTF-16 internally. Consequently, the memory footprint of a (boxed) ShortText
value is 4 words (2 words when unboxed) plus the length of the UTF-8 encoded payload.