Skip to content
io-streams support for the cereal/binary serialization library
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bench
src/System/IO/Streams
test
.gitignore
.travis.yml
CHANGELOG
LICENSE
README.md
Setup.hs
wire-streams.cabal

README.md

wire-streams

Hackage Build Status

Serialize/deserialize ByteString streams from io-streams using binary package.

From v0.1 cereal is removed because a binary performance problem is taken care of by binary-parsers package, now binary is much faster and more featureful.

Benchmark

benchmarking decode one element wire-streams/cereal/1000 items
time                 127.6 ns   (126.4 ns .. 129.2 ns)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 128.1 ns   (126.6 ns .. 130.1 ns)
std dev              6.019 ns   (4.441 ns .. 9.245 ns)
variance introduced by outliers: 67% (severely inflated)

benchmarking decode one element wire-streams/binary/1000 items
time                 90.49 ns   (89.77 ns .. 91.11 ns)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 90.42 ns   (89.44 ns .. 91.41 ns)
std dev              3.371 ns   (2.711 ns .. 4.433 ns)
variance introduced by outliers: 57% (severely inflated)

benchmarking decode one element cereal-conduit/1000 items
time                 345.2 ns   (325.0 ns .. 382.3 ns)
                     0.953 R²   (0.896 R² .. 0.999 R²)
mean                 338.6 ns   (329.5 ns .. 379.4 ns)
std dev              52.15 ns   (14.85 ns .. 114.3 ns)
variance introduced by outliers: 95% (severely inflated)

benchmarking decode 1000 elements from wire-streams/cereal/1000 items
time                 97.24 μs   (95.95 μs .. 98.57 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 97.75 μs   (96.78 μs .. 98.68 μs)
std dev              3.170 μs   (2.640 μs .. 3.906 μs)
variance introduced by outliers: 31% (moderately inflated)

benchmarking decode 1000 elements from wire-streams/binary/1000 items
time                 65.24 μs   (64.69 μs .. 65.94 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 66.09 μs   (65.35 μs .. 67.62 μs)
std dev              3.601 μs   (2.014 μs .. 6.391 μs)
variance introduced by outliers: 58% (severely inflated)

benchmarking decode 1000 elements cereal-conduit/1000 items
time                 198.4 μs   (195.4 μs .. 201.3 μs)
                     0.998 R²   (0.997 R² .. 0.999 R²)
mean                 200.4 μs   (197.9 μs .. 203.7 μs)
std dev              9.718 μs   (7.707 μs .. 12.77 μs)
variance introduced by outliers: 47% (moderately inflated)
You can’t perform that action at this time.