All Projects → vincenthz → hs-packer

vincenthz / hs-packer

Licence: other
Fast serialization in haskell

Programming Languages

haskell
3896 projects
Makefile
30231 projects

Projects that are alternatives of or similar to hs-packer

Borer
Efficient CBOR and JSON (de)serialization in Scala
Stars: ✭ 131 (+907.69%)
Mutual labels:  serialization, binary
GenericProtocol
⚡️ A fast TCP event based buffered server/client protocol for transferring data over the (inter)net in .NET 🌐
Stars: ✭ 38 (+192.31%)
Mutual labels:  serialization, binary
Binaryserializer
A declarative serialization framework for controlling formatting of data at the byte and bit level using field bindings, converters, and code.
Stars: ✭ 197 (+1415.38%)
Mutual labels:  serialization, binary
Beeschema
Binary Schema Library for C#
Stars: ✭ 46 (+253.85%)
Mutual labels:  serialization, binary
Apex.Serialization
High performance contract-less binary serializer for .NET
Stars: ✭ 82 (+530.77%)
Mutual labels:  serialization, binary
Bincode
A binary encoder / decoder implementation in Rust.
Stars: ✭ 1,100 (+8361.54%)
Mutual labels:  serialization, binary
surge
Simple, specialised, and efficient binary marshaling
Stars: ✭ 36 (+176.92%)
Mutual labels:  serialization, binary
Ceras
Universal binary serializer for a wide variety of scenarios https://discord.gg/FGaCX4c
Stars: ✭ 374 (+2776.92%)
Mutual labels:  serialization, binary
persistity
A persistence framework for game developers
Stars: ✭ 34 (+161.54%)
Mutual labels:  serialization, binary
nason
🗜 Ultra tiny serializer / encoder with plugin-support. Useful to build binary files containing images, strings, numbers and more!
Stars: ✭ 30 (+130.77%)
Mutual labels:  serialization, binary
Pbf
A low-level, lightweight protocol buffers implementation in JavaScript.
Stars: ✭ 618 (+4653.85%)
Mutual labels:  serialization, binary
Bois
Salar.Bois is a compact, fast and powerful binary serializer for .NET Framework. With Bois you can serialize your existing objects with almost no change.
Stars: ✭ 53 (+307.69%)
Mutual labels:  serialization, binary
Iguana
universal serialization engine
Stars: ✭ 481 (+3600%)
Mutual labels:  serialization, binary
Binary
Generic and fast binary serializer for Go
Stars: ✭ 86 (+561.54%)
Mutual labels:  serialization, binary
Fastbinaryencoding
Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift
Stars: ✭ 421 (+3138.46%)
Mutual labels:  serialization, binary
Chronicle Wire
A Java Serialisation Library that supports multiple formats
Stars: ✭ 204 (+1469.23%)
Mutual labels:  serialization, binary
binary
package binary is a lightweight and high-performance serialization library to encode/decode between go data and []byte.
Stars: ✭ 20 (+53.85%)
Mutual labels:  serialization, binary
Fspickler
A fast multi-format message serializer for .NET
Stars: ✭ 299 (+2200%)
Mutual labels:  serialization, binary
parco
🏇🏻 generalist, fast and tiny binary parser and compiler generator, powered by Go 1.18+ Generics
Stars: ✭ 57 (+338.46%)
Mutual labels:  serialization, binary
GroBuf
Fast binary serializer
Stars: ✭ 56 (+330.77%)
Mutual labels:  serialization, binary

Packer: fast strict serialization in haskell

Packer is originally an experiment when benchmarking other serialization solution, namely cereal and binary. It turns out that the experiment yields interesting result performance-wise, and also allowed different use cases.

Packer provides a way to de-serialize and serialize data, from/to bytestring. The usage is very similar to binary and cereal runPut/runGet, except that it doesn't allow incremental feeding.

Holes

The interface allows to create holes during the packing; this is useful to have a more C like API where some fields are computed a-posteriori:

putF = do
    crc32  <- putHoleWord32LE
    crcVal <- foldM (\acc w -> putWord32LE w >> addCRC acc w) 0 [1,2,3]
    fillHole crc32 crcVal
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].