RefSerialize: Write to and read from ByteStrings maintaining internal memory references

[ bsd3, data, database, library, parsing ] [ Propose Tags ]

Read, Show and Binary instances do not check for internal data references to the same address. As a result, the data is duplicated when serialized. This is a waste of space in the filesystem and also a waste of serialization time. but the worst consequence is that, when the serialized data is read, it allocates multiple copies for the same object when referenced multiple times. Because multiple referenced data is very typical in a pure language such is Haskell, this means that the resulting data loose the beatiful economy of space and processing time that referential transparency permits.

In this release:

Compatibility with older versions of bytestring that have no toStrict call

deserialization is much, much faster by using the stringsearch package

See Data.RefSerialize for details

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.7, 0.2.8, 0.2.8.1, 0.3.0.0, 0.3.0.1, 0.3.1.0, 0.3.1.1, 0.3.1.2, 0.3.1.3, 0.3.1.4, 0.4.0
Dependencies base (>=4 && <5), binary, bytestring, containers, hashtables, stringsearch [details]
License BSD-3-Clause
Author Alberto Gómez Corona
Maintainer agocorona@gmail.com
Category Parsing, Data, Database
Uploaded by AlbertoCorona at 2017-02-06T23:42:14Z
Distributions LTSHaskell:0.4.0, NixOS:0.4.0, Stackage:0.4.0
Reverse Dependencies 4 direct, 6 indirect [details]
Downloads 18802 total (52 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-02-06 [all 1 reports]