1blaze-builder 2============= 3 4[![Continuous Integration status][status-png]][status] 5[![Hackage page (downloads and API reference)][hackage-png]][hackage] 6 7This library allows to efficiently serialize Haskell values to lazy bytestrings 8with a large average chunk size. The large average chunk size allows to make 9good use of cache prefetching in later processing steps (e.g. compression) and 10reduces the system call overhead when writing the resulting lazy bytestring to a 11file or sending it over the network. 12 13This library was inspired by the module Data.Binary.Builder provided by the 14binary package. It was originally developed with the specific needs of the 15blaze-html package in mind. Since then it has been restructured to serve as a 16drop-in replacement for Data.Binary.Builder, which it improves upon both in 17speed as well as expressivity. 18 19To see the improvements in speed, run the throughput benchmark, which measures 20serialization speeds for writing Word8, Word16, Word32 and Word64 in different 21endian formats and different chunk sizes, using the command 22 23 make bench-throughput 24 25or run the list serialization comparison benchmark 26 27 make bench-blaze-vs-binary 28 29Checkout the combinators in the module "Blaze.ByteString.Builder.Write" to see 30the improvements in expressivity. This module allows to incorporate efficient 31primitive buffer manipulations as parts of a builder. We use this facility 32in the 'blaze-html' HTML templating library to allow for the efficient 33serialization of HTML escaped and UTF-8 encoded characters. 34 35 [status-png]: https://api.travis-ci.org/lpsmith/blaze-builder.svg 36 [status]: http://travis-ci.org/lpsmith/blaze-builder?branch=master 37 [hackage-png]: http://img.shields.io/hackage/v/blaze-builder.svg 38 [hackage]: http://hackage.haskell.org/package/blaze-builder 39