mjambon/biniou

Extensible binary data format, like JSON but faster

43

stars

81

commits

OCaml

primary language

Jun 17, 2022

updated

mjambon.github.io/atdgen-docBrowse cluster: OCaml Development Tools & REPL

README

Biniou

Biniou (pronounced "be new") is a binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve. Biniou is vastly equivalent to JSON in terms of functionality but allows implementations several times faster (4 times faster than yojson), with 25-35% space savings.

Biniou data can be decoded into human-readable form without knowledge of type definitions except for field and variant names which are represented by 31-bit hashes. A program named bdump is provided for routine visualization of biniou data files.

The program atdgen is used to derive OCaml-Biniou serializers and deserializers from type definitions.

Biniou format specification: biniou-format.txt

Contributors

mjambon

48 commits

kit-ty-kate

13 commits

rgrinberg

8 commits

hhugo

5 commits

mjambon/biniou

Extensible binary data format, like JSON but faster

43

stars

81

commits

OCaml

primary language

Jun 17, 2022

updated

mjambon.github.io/atdgen-docBrowse cluster: OCaml Development Tools & REPL

README

Biniou

Biniou (pronounced "be new") is a binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve. Biniou is vastly equivalent to JSON in terms of functionality but allows implementations several times faster (4 times faster than yojson), with 25-35% space savings.

Biniou data can be decoded into human-readable form without knowledge of type definitions except for field and variant names which are represented by 31-bit hashes. A program named bdump is provided for routine visualization of biniou data files.

The program atdgen is used to derive OCaml-Biniou serializers and deserializers from type definitions.

Biniou format specification: biniou-format.txt

Contributors

mjambon

48 commits

kit-ty-kate

13 commits

rgrinberg

8 commits

hhugo

5 commits

Languages

OCaml

99.7%