HashStablePack - Content Deterministic Marshal code generator

  •        1

This is a code generation tool and serialization library for Calculation of Stable Hash for content. Basically it will generate an MarshalHash method which follow the MessagePack but without the key. the order of struct member is sorted by type name, so "string, int", "int, string" is equivalent.

https://github.com/CovenantSQL/HashStablePack

Tags
Implementation
License
Platform

   




Related Projects

json-stable-stringify - deterministic JSON

  •    Javascript

You can also pass in a custom comparison function.Return a deterministic stringified string str from the object obj.

msgpack - MessagePack is an extremely efficient object serialization library

  •    

MessagePack is an efficient binary serialization format. It's like JSON. but fast and small.This repository manages specification of MessagePack format. See Spec for the specification.

msgpack-cli - MessagePack implementation for Common Language Infrastructure / msgpack.org[C#]

  •    CSharp

This is MessagePack serialization/deserialization for CLI (Common Language Infrastructure) implementations such as .NET Framework, Silverlight, Mono (including Moonlight.) This library can be used from ALL CLS compliant languages such as C#, F#, Visual Basic, Iron Python, Iron Ruby, PowerShell, C++/CLI or so.Install Visual Studio 2017 (Community edition is OK) and 2015 (for MsgPack.Windows.sln).

msgp - A Go code generator for MessagePack / msgpack.org[Go]

  •    Go

This is a code generation tool and serialization library for MessagePack. You can read more about MessagePack in the wiki, or at msgpack.org. The msgp command will generate serialization methods for all exported type declarations in the file.

MessagePack-CSharp - Extremely Fast MessagePack Serializer for C#(

  •    CSharp

Extremely fast MessagePack serializer for C#, x10 faster than MsgPack-Cli and acquires best performance compared with all the other C# serializers. MessagePack for C# has built-in LZ4 compression which can achieve super fast and small binary size. Performance is always important! for Game, Distributed computing, Microservices, Store data to Redis, etc.MessagePack has compact binary size and full set of general purpose expression. Please see the comparison with JSON, protobuf, ZeroFormatter section. If you want to know why MessagePack C# is fastest, please see performance section.


MessagePack

  •    C

MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.

msgpack-java - MessagePack serializer implementation for Java / msgpack.org[Java]

  •    Java

MessagePack is a binary serialization format. If you need a fast and compact alternative of JSON, MessagePack is your friend. For example, a small integer can be encoded in a single byte, and short strings only need a single byte prefix + the original byte array. MessagePack implementation is already available in various lanaguages (See also the list in http://msgpack.org) and works as a universal data format.MessagePack v7 (or later) is a faster implementation of the previous version v06, and supports all of the message pack types, including extension format.

msgpack-python - MessagePack serializer implementation for Python msgpack.org[Python]

  •    Python

MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. This package provides CPython bindings for reading and writing MessagePack data.TL;DR: When upgrading from msgpack-0.4 or earlier, don't do pip install -U msgpack-python. Do pip uninstall msgpack-python; pip install msgpack instead.

msgpack-ruby - MessagePack implementation for Ruby / msgpack.org[Ruby]

  •    C

MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON but it's faster and smaller. For example, small integers (like flags or error code) are encoded into a single byte, and typical short strings only require an extra byte in addition to the strings themselves.If you ever wished to use JSON for convenience (storing an image with metadata) but could not for technical reasons (binary data, size, speed…), MessagePack is a perfect replacement.

msgpack-rust - MessagePack implementation for Rust / msgpack.org[Rust]

  •    Rust

RMP is a pure Rust MessagePack implementation. This repository consists of three separate crates: the RMP core and two implementations to ease serializing and deserializing Rust structs.

Sereal - Fast, compact, schema-less, binary serialization and deserialization oriented towards dynamic languages

  •    C

This repository is the home of the Sereal data serialization format. This format was started because the authors had technical reasons for producing a better Storable. Before we embarked on this project we had a look at various prior art. This included a review of Google Protocol Buffers and of the MessagePack protocol. Neither suited our needs so we designed this, liberally borrowing ideas from the other projects.

json - JSON for Modern C++

  •    C++

Intuitive syntax. In languages such as Python, JSON feels like a first class data type. We used all the operator magic of modern C++ to achieve the same feeling in your code. Check out the examples below and you'll know what I mean.Trivial integration. Our whole code consists of a single header file json.hpp. That's it. No library, no subproject, no dependencies, no complex build system. The class is written in vanilla C++11. All in all, everything should require no adjustment of your compiler flags or project settings.

msgpack-c - MessagePack implementation for C and C++ / msgpack.org[C/C++]

  •    C++

It's like JSON but small and fast.MessagePack is an efficient binary serialization format, which lets you exchange data among multiple languages like JSON, except that it's faster and smaller. Small integers are encoded into a single byte while typical short strings require only one extra byte in addition to the strings themselves.

msgpack-php - msgpack.org[PHP]

  •    PHP

This extension provide API for communicating with MessagePack serialization.MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.

node-msgpack - A space-efficient object serialization library for NodeJS

  •    Javascript

node-msgpack is an addon for NodeJS that provides an API for serializing and de-serializing JavaScript objects using the MessagePack library. The performance of this addon compared to the native JSON object isn't too bad, and the space required for serialized data is far less than JSON. node-msgpack is currently slower than the built-in JSON.stringify() and JSON.parse() methods. In recent versions of node.js, the JSON functions have been heavily optimized. node-msgpack is still more compact, and we are currently working performance improvements. Testing shows that, over 500k iterations, msgpack.pack() is about 5x slower than JSON.stringify(), and msgpack.unpack() is about 3.5x slower than JSON.parse().

msgpack - msgpack.org[Go] MessagePack encoding for Golang

  •    Go

API docs: https://godoc.org/github.com/vmihailenco/msgpack. Examples: https://godoc.org/github.com/vmihailenco/msgpack#pkg-examples. Please go through examples to get an idea how to use this package.

transit-js - Transit for JavaScript

  •    Javascript

Transit is a data format and a set of libraries for conveying values between applications written in different languages. This library provides support for marshalling Transit data to/from JavaScript. transit-js will work with any ECMAScript-262 Edition 3 or newer JavaScript implementation provided that a JSON module that supplies parse and stringify methods is present. transit-js does not currently support encoding to MessagePack. Unlike the Java and Clojure implementations it relies on the non-streaming JSON parsing mechanism of the host JavaScript environment. This implementation's major.minor version number corresponds to the version of the Transit specification it supports.

Capsule - The Capsule Hash Trie Collections Library

  •    Java

Capsule aims to become a full-fledged (immutable) collections library for Java 8+ that is solely built around persistent tries. The library is designed for standalone use and for being embedded in domain-specific languages. Capsule still has to undergo some incubation before it can ship as a well-rounded collection library. Nevertheless, the code is stable and performance is solid.