MyNixOS website logo
Description

Use cereal to encode/decode io-streams.

cereal-streams

Hackage Build Status

Use cereal to encode/decode io-streams, io-streams provided strict bytestring chunk streams, which makes cereal the perfect chocie to do encoding/decoding works. It's an alternative to encode/decode with binary/lazy bytestring.

This package is rewritten from cereal-io-streams, here's benchmark result against cereal-conduit:

benchmarking decode one element from cereal-streams/1000 items
time                 135.8 ns   (134.6 ns .. 137.2 ns)
                     0.999 R²   (0.999 R² .. 0.999 R²)
mean                 136.6 ns   (135.2 ns .. 138.2 ns)
std dev              5.147 ns   (4.239 ns .. 6.413 ns)
variance introduced by outliers: 57% (severely inflated)

benchmarking decode one element cereal-conduit/1000 items
time                 340.1 ns   (337.0 ns .. 343.6 ns)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 339.9 ns   (335.6 ns .. 344.6 ns)
std dev              13.68 ns   (10.59 ns .. 18.03 ns)
variance introduced by outliers: 58% (severely inflated)

benchmarking decode 1000 elements from cereal-streams/1000 items
time                 112.5 μs   (111.6 μs .. 113.4 μs)
                     0.999 R²   (0.998 R² .. 0.999 R²)
mean                 112.8 μs   (111.4 μs .. 114.4 μs)
std dev              4.735 μs   (3.522 μs .. 6.811 μs)
variance introduced by outliers: 43% (moderately inflated)

benchmarking decode 1000 elements cereal-conduit/1000 items
time                 204.4 μs   (201.9 μs .. 206.9 μs)
                     0.995 R²   (0.990 R² .. 0.997 R²)
mean                 220.7 μs   (209.5 μs .. 271.0 μs)
std dev              66.92 μs   (9.094 μs .. 152.6 μs)
variance introduced by outliers: 98% (severely inflated)
Metadata

Version

0.0.1.0

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows