1 个仓库
Memory-efficient reading and writing of binary data that avoids intermediate buffering and allocations.
Distinguishing note: None of the candidates refer to low-level memory-efficient IO primitives like Span or Memory in the context of serialization.
Explore 1 awesome GitHub repository matching operating systems & systems programming · Zero-Allocation Binary IO. Refine with filters or upvote what's useful.
MemoryPack 是一个用于 C# 和 Unity 的高性能二进制序列化库。它提供了一个零分配(Zero-allocation)数据流水线和模式演进框架,旨在最大限度地减少内存分配和编码开销。 该项目利用编译时源代码生成器来避免运行时反射,并实现了一种零编码二进制格式以实现最大吞吐量。它通过一种零分配方法脱颖而出,该方法重用对象实例以减少垃圾回收压力,并将非托管结构体的内存布局直接复制到二进制流中。 该库涵盖用于向后兼容的二进制模式版本控制,并支持针对大数据集的异步集合流式传输。它包括一个 TypeScript 类型生成器,用于在 C# 和 TypeScript 之间同步数据结构以进行跨语言数据交换。其他功能包括有效载荷压缩、自定义格式化程序实现和序列化回调。
Implements a memory-efficient binary IO pipeline that minimizes allocations during serialization and deserialization.