awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
MessagePack-CSharp avatar

MessagePack-CSharp/MessagePack-CSharp

0
View on GitHub↗
6,607 Stars·754 Forks·C#·other·5 Aufrufe

MessagePack CSharp

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 library distinguishes itself through its LZ4 block compression pipeline, which reduces binary size while maintaining high throughput, and its priority-chained resolver composition that allows combining multiple formatter resolvers in a fixed order for fallback and override of serialization logic. It supports version-tolerant deserialization by ignoring unknown keys and applying default values, and can embed full .NET type names into the binary blob for polymorphic serialization of interface-typed or abstract-typed objects. A stream-boundary-aware reader detects consecutive MessagePack structures from a single stream, enabling multiplexed or chunked data processing.

The serializer handles a broad range of data scenarios, including conversion between MessagePack and JSON for debugging and interoperability, serialization of Unity-specific structs like Vector3 and Quaternion, and dynamic or untyped data handling through union attributes. It provides compile-time validation via analyzers to detect incorrect attribute usage, and supports custom IMessagePackFormatter implementations for types requiring special handling. String interning during deserialization reuses repeated string objects to lower memory usage for repetitive data.

Features

  • MessagePack Serializers - Provides high-performance MessagePack binary serialization for .NET objects with customizable resolvers.
  • Primitive Type Encoding - Provides low-level reader and writer structs for direct zero-allocation MessagePack primitive encoding.
  • Object Deserialization - Reconstructs C# objects from MessagePack binary with support for immutable types and records.
  • Object Serialization - Converts annotated C# classes and structs into compact MessagePack binary using index or string keys.
  • Resolver Composition - Combines multiple formatter resolvers in priority order to control type serialization behavior.
  • Compile-Time Code Generation - Generates AOT-safe formatters and resolvers at compile time using Roslyn source generators.
  • AOT-Safe Serialization Generators - Generates compile-time formatters and resolvers for AOT-safe serialization, eliminating runtime reflection.
  • Zero-Allocation Readers - Provides stack-allocated reader and writer structs for zero-allocation primitive encoding.
  • Priority-Chained Resolvers - Combines multiple formatter resolvers in priority order for fallback and override of serialization logic.
  • Integer Key Encoders - Encodes object fields as integer indices for compact binary output with deterministic ordering.
  • Version-Tolerant Deserializers - Deserializes binary data with missing or extra fields by ignoring unknown keys and applying defaults.
  • Type-Embedded Binary Codecs - Embeds full .NET type names into serialized blobs for type-argument-free deserialization.
  • Binary-to-JSON Converters - Transforms MessagePack binary data into human-readable JSON and back for debugging and interoperability.
  • Data Format Interoperability - Converts between MessagePack binary and JSON for debugging and interoperability.
  • LZ4 Compression Pipelines - Applies LZ4 block compression during serialization to reduce binary size with high throughput.
  • Dynamic Serialization - Serializes and deserializes objects without predefined schemas via union attributes.
  • Custom Type Serializers - Allows writing custom IMessagePackFormatter implementations for types needing special handling.
  • Polymorphic Type Serializers - Embeds .NET type names or uses union attributes to serialize and deserialize polymorphic objects.
  • Type-Embedded Polymorphism - Embeds .NET type names in binary for polymorphic deserialization without explicit type arguments.
  • Stream Message Boundary Preservation - Reads consecutive MessagePack structures from a single stream by detecting boundaries.
  • High-Speed Block Compression - Applies LZ4 block compression as a serialization layer to reduce binary size.
  • LZ4 Compression Pipelines - Applies LZ4 block compression during serialization to reduce binary size with high throughput.
  • Dynamic Object Serializers - Serializes and deserializes objects without predefined schemas, including anonymous and interface-typed objects.
  • Unity Struct Serializers - Serializes Unity structs like Vector3 and Quaternion using built-in resolvers for server-client communication.
  • Custom Serialization Logic - Supports custom IMessagePackFormatter implementations for types needing special serialization logic.
  • Serialization Libraries - Extremely fast MessagePack serializer for .NET.

Star-Verlauf

Star-Verlauf für messagepack-csharp/messagepack-csharpStar-Verlauf für messagepack-csharp/messagepack-csharp

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu MessagePack CSharp

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit MessagePack CSharp.
  • neuecc/messagepack-csharpAvatar von neuecc

    neuecc/MessagePack-CSharp

    6,710Auf GitHub ansehen↗

    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.

    C#
    Auf GitHub ansehen↗6,710
  • protobuf-net/protobuf-netAvatar von protobuf-net

    protobuf-net/protobuf-net

    4,930Auf GitHub ansehen↗

    protobuf-net is a .NET library that serializes and deserializes objects using the Protocol Buffers binary format for efficient data exchange. It provides a code-first gRPC service framework, allowing developers to define service contracts directly from existing C# classes without writing separate .proto files. The library is nullable-aware, encoding null values in collections and nullable scalars using wrapper messages to distinguish null from default zero values, and includes an ahead-of-time serializer generator that compiles serializer code at build time to eliminate runtime code generati

    C#
    Auf GitHub ansehen↗4,930
  • apache/foryAvatar von apache

    apache/fory

    4,234Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,234
  • cysharp/memorypackAvatar von Cysharp

    Cysharp/MemoryPack

    4,598Auf GitHub ansehen↗

    MemoryPack is a high-performance binary serialization library for C# and Unity. It provides a zero-allocation data pipeline and a schema-evolution framework designed to minimize memory allocations and encoding overhead. The project utilizes compile-time source generators to avoid runtime reflection and implements a zero-encoding binary format for maximum throughput. It distinguishes itself through a zero-allocation approach that reuses object instances to reduce garbage collection pressure and copies the memory layout of unmanaged structs directly to binary streams. The library covers binary

    C#
    Auf GitHub ansehen↗4,598
Alle 30 Alternativen zu MessagePack CSharp anzeigen→

Häufig gestellte Fragen

Was macht messagepack-csharp/messagepack-csharp?

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…

Was sind die Hauptfunktionen von messagepack-csharp/messagepack-csharp?

Die Hauptfunktionen von messagepack-csharp/messagepack-csharp sind: MessagePack Serializers, Primitive Type Encoding, Object Deserialization, Object Serialization, Resolver Composition, Compile-Time Code Generation, AOT-Safe Serialization Generators, Zero-Allocation Readers.

Welche Open-Source-Alternativen gibt es zu messagepack-csharp/messagepack-csharp?

Open-Source-Alternativen zu messagepack-csharp/messagepack-csharp sind unter anderem: neuecc/messagepack-csharp — MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object… protobuf-net/protobuf-net — protobuf-net is a .NET library that serializes and deserializes objects using the Protocol Buffers binary format for… apache/fory — Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs… cysharp/memorypack — MemoryPack is a high-performance binary serialization library for C# and Unity. It provides a zero-allocation data… symfony/serializer — This library is a PHP-based serialization framework designed to convert complex object graphs into structured formats… airtai/faststream — FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified…