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

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Cysharp avatar

Cysharp/MemoryPack

0
View on GitHub↗
4,598 estrellas·305 forks·C#·MIT·5 vistas

MemoryPack

MemoryPack es una librería de serialización binaria de alto rendimiento para C# y Unity. Proporciona un pipeline de datos de cero asignaciones y un framework de evolución de esquemas diseñado para minimizar las asignaciones de memoria y la sobrecarga de codificación.

El proyecto utiliza generadores de código fuente en tiempo de compilación para evitar la reflexión en tiempo de ejecución e implementa un formato binario de codificación cero para un rendimiento máximo. Se distingue por un enfoque de cero asignaciones que reutiliza instancias de objetos para reducir la presión del recolector de basura y copia el diseño de memoria de structs no gestionados directamente a flujos binarios.

La librería cubre el versionado de esquemas binarios para compatibilidad hacia atrás y admite streaming de colecciones asíncronas para grandes datasets. Incluye un generador de tipos de TypeScript para sincronizar estructuras de datos entre C# y TypeScript para el intercambio de datos entre lenguajes. Las capacidades adicionales incluyen compresión de carga útil, implementaciones de formateadores personalizados y devoluciones de llamada de serialización.

Features

  • High-Performance Binary Serialization - Provides an optimized binary serialization engine for C# designed for minimal CPU and memory overhead.
  • Direct-Memory Struct Copying - Implements high-speed serialization by copying the memory layout of blittable structs directly to the output stream.
  • Schema Versioning - Ensures backward compatibility by tracking member additions and handling schema mismatches between data versions.
  • Schema Evolution - Supports adding new members to serialized objects while maintaining compatibility with older data versions.
  • Binary Serialization Versioning - Ensures that new software versions can read older binary data through robust schema versioning.
  • Blittable Struct Serializations - Writes the memory layout of unmanaged structs directly to binary streams for maximum processing speed.
  • Memory Optimization Techniques - Reduces GC pressure through object reuse and direct raw struct serialization in C#.
  • Zero-Allocation Binary IO - Implements a memory-efficient binary IO pipeline that minimizes allocations during serialization and deserialization.
  • Serialization Code Generators - Utilizes compile-time source generators to create static serialization logic and eliminate runtime reflection overhead.
  • Object Serialization - Provides high-performance conversion of plain C# objects into a binary format and back.
  • Object Instance Reuses - Provides the ability to deserialize data into existing object instances to minimize memory allocations and GC frequency.
  • Buffer-Reusing Serializers - Minimizes garbage collection pressure by reusing existing object instances during the deserialization process.
  • Zero-Encoding Binary Formats - Writes data directly to binary streams without intermediate transformation to achieve maximum processing throughput.
  • Custom Serializer Implementations - Allows the definition of manual serialization logic for external types by implementing custom formatter classes.
  • TypeScript Type Generators - Generates TypeScript interfaces from C# type definitions to maintain consistent data models.
  • C# to TypeScript Generators - Provides a utility to convert C# types into TypeScript interfaces for consistent cross-language data exchange.
  • Payload Compressions - Reduces binary size using compression algorithms to minimize the volume of data transmitted across the network.
  • Cross-Language Data Exchange - Synchronizes data structures between C# and TypeScript to ensure type-safe API communication.
  • Collection Streaming - Processes massive object arrays using asynchronous streams to prevent high memory consumption.
  • Unity Serialization Libraries - Optimizes Unity game state persistence by using fast binary serialization for reduced load times.
  • Serialization Libraries - Zero-copy binary serialization for .NET.

Historial de estrellas

Gráfico del historial de estrellas de cysharp/memorypackGráfico del historial de estrellas de cysharp/memorypack

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a MemoryPack

Proyectos open-source similares, clasificados según cuántas características comparten con MemoryPack.
  • apache/foryAvatar de apache

    apache/fory

    4,234Ver en 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
    Ver en GitHub↗4,234
  • msgspec/msgspecAvatar de msgspec

    msgspec/msgspec

    3,821Ver en GitHub↗

    msgspec is a high-performance data modeling, serialization, and schema validation toolkit for Python. It serves as a type-safe serialization framework that integrates schema enforcement and data parsing into a single pass, functioning as both a data serialization library and a schema validation system based on standard Python type annotations. The project distinguishes itself through high-performance structural primitives, including compilation-based routine generation and zero-copy buffer parsing. It optimizes memory usage via garbage collection-aware layouts and reduces processing overhead

    Pythondeserializationjsonjson-schema
    Ver en GitHub↗3,821
  • alipay/furyAvatar de alipay

    alipay/fury

    4,412Ver en 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
    Ver en GitHub↗4,412
  • neuecc/messagepack-csharpAvatar de neuecc

    neuecc/MessagePack-CSharp

    6,710Ver en GitHub↗

    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#
    Ver en GitHub↗6,710
Ver las 30 alternativas a MemoryPack→

Preguntas frecuentes

¿Qué hace cysharp/memorypack?

MemoryPack es una librería de serialización binaria de alto rendimiento para C# y Unity. Proporciona un pipeline de datos de cero asignaciones y un framework de evolución de esquemas diseñado para minimizar las asignaciones de memoria y la sobrecarga de codificación.

¿Cuáles son las características principales de cysharp/memorypack?

Las características principales de cysharp/memorypack son: High-Performance Binary Serialization, Direct-Memory Struct Copying, Schema Versioning, Schema Evolution, Binary Serialization Versioning, Blittable Struct Serializations, Memory Optimization Techniques, Zero-Allocation Binary IO.

¿Qué alternativas de código abierto existen para cysharp/memorypack?

Las alternativas de código abierto para cysharp/memorypack incluyen: apache/fory — Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs… msgspec/msgspec — msgspec is a high-performance data modeling, serialization, and schema validation toolkit for Python. It serves as a… alipay/fury — Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to… neuecc/messagepack-csharp — MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object… messagepack-csharp/messagepack-csharp — MessagePack-CSharp is a high-performance binary serializer for .NET that converts C# objects to and from the compact… gogo/protobuf — This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into…