• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

Blaze/ByteString/H03-May-2022-1,810808

benchmarks/H09-Sep-2001-7,0404,691

tests/H09-Sep-2001-149102

CHANGESH A D09-Sep-20015.5 KiB159115

LICENSEH A D09-Sep-20011.5 KiB3124

MakefileH A D09-Sep-20015.9 KiB16187

README.markdownH A D09-Sep-20011.8 KiB3929

Setup.hsH A D09-Sep-200146 32

TODOH A D09-Sep-20013.4 KiB7460

blaze-builder.cabalH A D09-Sep-20013.5 KiB10385

README.markdown

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