@hackage bytestring-plain0.1.0.1

Plain byte strings ('ForeignPtr'-less 'ByteString's)

More compact representation for strict ByteStrings 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).