awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
neuecc avatar

neuecc/MessagePack-CSharp

0
View on GitHub↗
6,710 stars·765 forks·C#·4 views

MessagePack CSharp

MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object graphs into the MessagePack format. It functions as a C# data serialization toolkit and a polymorphic binary encoder capable of handling abstract classes and interfaces using union keys to identify concrete derived types.

The library provides a binary format transcoder to transform binary data into human-readable JSON for debugging. It supports ahead-of-time formatter generation to avoid runtime overhead and implements LZ4 binary compression to reduce the size of serialized data.

The project covers a broad range of data handling capabilities, including typeless object serialization, binary stream sequence reading, and string interning to reduce memory allocations. It also incorporates security measures such as deserialization depth limiting to protect against resource exhaustion attacks.

Features

  • Binary Deserialization - Reconstructs structured object graphs from raw binary blobs using both typed and dynamic deserialization.
  • MessagePack Serializers - Provides a high-performance binary serialization implementation specifically for the MessagePack format in .NET.
  • Binary Serialization Formats - Encodes complex object graphs into a compact binary format using indexed keys or string maps for efficient storage.
  • Polymorphic Type Serializers - Handles the serialization of abstract classes and interfaces using union keys to identify concrete derived types.
  • High-Performance Binary Serialization - Optimizes the conversion of C# object graphs into compact binary formats for low-latency network transmission.
  • High-Performance Data Exchange - Reduces network latency and bandwidth consumption by replacing verbose text formats with dense binary representations.
  • C# Serialization Libraries - Provides a comprehensive toolkit for encoding and decoding structured data in C# with support for AOT and Unity.
  • Compile-Time Code Generation - Implements static serialization logic at build time to eliminate runtime reflection and support AOT compilation.
  • Polymorphic Type Mapping - Uses unique integer union keys to map abstract types and interfaces to concrete implementations during binary serialization.
  • Binary-to-JSON Converters - Transforms binary encoded MessagePack data into human-readable JSON for debugging and inspection purposes.
  • Direct-Memory Struct Copying - Provides high-throughput serialization by performing unsafe memory copies of primitive arrays to bypass element-by-element processing.
  • LZ4 Compression Pipelines - Integrates LZ4 block compression into the serialization pipeline to reduce binary payload size.
  • Custom Serialization Interfaces - Provides a dedicated formatter interface for users to define specialized serialization logic for complex types.
  • Binary to JSON Transcoders - Provides a utility to transform binary MessagePack data into human-readable JSON strings for debugging.
  • Game Engine Memory Optimizations - Optimizes CPU and memory usage in Unity and Xamarin applications through high-performance binary serialization.
  • Cross-Platform Data Exchange - Ensures consistent interoperability and structured data exchange between different languages and platforms using the MessagePack format.
  • Serialization Code Generators - Generates static serialization code at compile time to avoid runtime overhead and support AOT environments.
  • String Interning Deserializers - Minimizes heap allocations and memory usage by reusing references to identical strings during binary decoding.
  • User-Defined Type Formatters - Allows the definition of specific serialization rules for third-party or complex types through custom formatter implementations.
  • Serialization - High-performance MessagePack serializer.

Star history

Star history chart for neuecc/messagepack-csharpStar history chart for neuecc/messagepack-csharp

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to MessagePack CSharp

Similar open-source projects, ranked by how many features they share with MessagePack CSharp.
  • messagepack-csharp/messagepack-csharpMessagePack-CSharp avatar

    MessagePack-CSharp/MessagePack-CSharp

    6,607View on GitHub↗

    MessagePack-CSharp is a high-performance binary serializer for .NET that converts C# objects to and from the compact MessagePack format. It uses compile-time source generation to produce AOT-safe formatters and resolvers, eliminating runtime reflection and enabling ahead-of-time compilation scenarios. The serializer encodes object fields as integer indices instead of string keys, producing compact binary output with deterministic field ordering, and provides stack-allocated reader and writer structs for direct encoding and decoding of MessagePack primitives without heap allocations. The libra

    C#c-sharplz4messagepack
    View on GitHub↗6,607
  • alipay/furyalipay avatar

    alipay/fury

    4,412View on GitHub↗

    Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to facilitate cross-language data exchange. It includes an interface definition language compiler that translates schema definitions into idiomatic native types and serialization boilerplate across multiple languages. The project distinguishes itself through a zero-copy binary reader that allows specific fields to be accessed without deserializing the entire object, as well as an object graph serializer that preserves circular references and referential integrity. It also features a

    Java
    View on GitHub↗4,412
  • apache/foryapache avatar

    apache/fory

    4,234View on GitHub↗

    Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs into a compact binary format for high-performance data exchange. It includes an IDL-based schema compiler to transform interface definition language files into type-safe native data models and a schema evolution manager to maintain forward and backward compatibility. The project features a zero-copy data access layer that allows reading specific fields from binary rows without deserializing the entire object. It supports dual-mode serialization, enabling a toggle between a por

    Javacompressioncppcross-language
    View on GitHub↗4,234
  • apple/swift-protobufapple avatar

    apple/swift-protobuf

    4,935View on GitHub↗

    This project is a Protocol Buffers Swift library and framework providing a runtime for serializing and deserializing structured data. It includes a code generator that transforms schema files into type-safe Swift structures and a binary serialization framework for converting data into compact streams. The library functions as a JSON data mapper, transforming messages into standard JSON representations to facilitate cross-platform data exchange. It utilizes a schema-driven approach to ensure consistent data modeling between Swift applications and services written in other languages. The frame

    Swift
    View on GitHub↗4,935
See all 30 alternatives to MessagePack CSharp→

Frequently asked questions

What does neuecc/messagepack-csharp do?

MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object graphs into the MessagePack format. It functions as a C# data serialization toolkit and a polymorphic binary encoder capable of handling abstract classes and interfaces using union keys to identify concrete derived types.

What are the main features of neuecc/messagepack-csharp?

The main features of neuecc/messagepack-csharp are: Binary Deserialization, MessagePack Serializers, Binary Serialization Formats, Polymorphic Type Serializers, High-Performance Binary Serialization, High-Performance Data Exchange, C# Serialization Libraries, Compile-Time Code Generation.

What are some open-source alternatives to neuecc/messagepack-csharp?

Open-source alternatives to neuecc/messagepack-csharp include: messagepack-csharp/messagepack-csharp — MessagePack-CSharp is a high-performance binary serializer for .NET that converts C# objects to and from the compact… alipay/fury — Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to… apache/fory — Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs… apple/swift-protobuf — This project is a Protocol Buffers Swift library and framework providing a runtime for serializing and deserializing… alibaba/fastjson2 — fastjson2 is a high-performance Java library used for serializing and deserializing Java objects to and from JSON… cysharp/memorypack — MemoryPack is a high-performance binary serialization library for C# and Unity. It provides a zero-allocation data…