Description
Plain byte strings ('ForeignPtr'-less 'ByteString's)
Description
More compact representation for strict ByteString
s avoiding the overhead and indirection caused by ForeignPtr
.
This representation is useful to reduce the incurred memory overhead when operating with many small, long-lived, distinct byte strings (such as keys for containers).
See documentation in Data.ByteString.Plain
for more details about this representation.
As an alternative, recent bytestring
versions provide Data.ByteString.Short
which has a similiar overhead but uses unpinned memory instead (and thus requires an additional string data copy in contrast to Data.ByteString.Plain
which allows to share the string data with the associated Data.ByteString
value).