1 repository
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 este o bibliotecă de serializare binară de înaltă performanță pentru C# și Unity. Oferă un pipeline de date zero-allocation și un framework de evoluție a schemei conceput pentru a minimiza alocările de memorie și overhead-ul de codificare. Proiectul utilizează generatoare de sursă la momentul compilării pentru a evita reflexia la runtime și implementează un format binar zero-encoding pentru un throughput maxim. Se distinge printr-o abordare zero-allocation care reutilizează instanțele de obiecte pentru a reduce presiunea asupra garbage collector-ului și copiază layout-ul de memorie al structurilor neadministrate direct în fluxurile binare. Biblioteca acoperă versionarea schemei binare pentru compatibilitate inversă și suportă streaming-ul asincron al colecțiilor pentru seturi mari de date. Include un generator de tipuri TypeScript pentru a sincroniza structurile de date între C# și TypeScript pentru schimbul de date cross-language. Capabilitățile suplimentare includ compresia payload-ului, implementări personalizate de formatter și callback-uri de serializare.
Implements a memory-efficient binary IO pipeline that minimizes allocations during serialization and deserialization.