17 Repos
Optimized conversion of complex data structures into binary formats for minimal latency.
Distinct from Complex Data Serialization: Focuses on the overall efficiency of the serialization process rather than just support for non-primitive types.
Explore 17 awesome GitHub repositories matching data & databases · High-Performance Binary Serialization. Refine with filters or upvote what's useful.
CapnProto is a zero-copy serialization framework and remote procedure call system. It serves as a C++ communication library providing a schema-based data interchange format that eliminates the need to encode or decode data before reading it from memory. The system enables high-performance data serialization and low-latency network communication. It supports cross-language data exchange by using a defined schema to ensure consistent binary representation across different platforms. The framework provides tools for implementing remote procedure calls, allowing functions to be invoked on a remo
Provides extremely efficient binary serialization for high-throughput and low-latency data exchange.
ET is a C# game server framework and distributed actor model runtime designed for large-scale multiplayer environments. It provides a comprehensive toolkit for building distributed game backends, incorporating a multiplayer network transport layer and a specialized suite for game AI and pathfinding. The framework is distinguished by its use of a distributed actor model to scale processing across multiple threads and servers, utilizing isolated actors for state management and messaging. It features a unified codebase architecture that allows shared logic between the server and client, enabling
Implements a binary serialization format designed for high performance and zero garbage collection.
Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into native language objects. It functions as a JSON data binding library and a streaming parser that reads and writes data as discrete tokens to process large datasets with minimal memory. The project distinguishes itself through a bytecode serialization accelerator that replaces standard reflection with generated bytecode to increase data binding speed. It employs a module-based extensibility model to support a wide range of formats beyond JSON, including XML, YAML, CSV, TOML, and bin
Performs high-performance serialization and deserialization using the Smile binary JSON format.
ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers with limited memory and processing power. It provides the core primitives necessary for embedded data serialization and parsing, enabling devices to exchange structured data over serial or network interfaces. The library is distinguished by its focus on microcontroller memory management, employing strategies such as pool-based allocation, string deduplication, and non-owning string views to minimize RAM usage. It further optimizes for constrained environments by allowing cons
Encodes structured documents into compact MessagePack binary streams.
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.
Provides a high-performance binary serialization implementation specifically for the MessagePack format in .NET.
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
Provides high-performance MessagePack binary serialization for .NET objects with customizable resolvers.
attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it
Encodes class instances into JSON, MessagePack, YAML, or TOML and decodes them back with validation.
This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into optimized Go structures and reflection-free serialization methods. It includes a gRPC service generator for producing client and server communication code and a serialization performance toolkit for generating automated benchmarks and test suites. The framework features a plugin-based system for transforming data definitions into source code with custom field mapping and struct tag injection. It allows for custom type mapping and struct type overriding to link data fields to sp
Generates optimized Go code for marshaling and unmarshaling data to minimize CPU and memory overhead.
PartyKit is a serverless WebSocket backend platform for building real-time multiplayer applications. It provides a globally distributed edge computing runtime that runs stateful server code close to users, with automatic scaling and hibernation for idle rooms. The platform handles WebSocket connections, HTTP requests, and durable storage without requiring infrastructure management, and includes a client and server SDK with hooks, storage, and Yjs integration for building collaborative features. The platform distinguishes itself through per-room isolation using Durable Objects, where each uniq
Serializes JavaScript objects into a compact binary format using MessagePack to reduce message size.
FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified abstraction layer for interacting with various message brokers, enabling developers to manage event production and consumption through a consistent interface while maintaining access to native provider-specific features. The framework centers on a decorator-based routing model that binds application logic directly to broker topics, supported by a built-in dependency injection container that resolves resources at runtime. The framework distinguishes itself through its deep int
Provides high-speed serialization backends to encode and decode message payloads with integrated schema validation.
LoopBack Next is a Node.js API framework used for building REST and multi-protocol APIs. It functions as an OpenAPI server implementation that can either generate machine-readable specifications from code or produce implementation controllers and models from existing specifications. The framework distinguishes itself through a central dependency injection container and a repository-pattern data access layer. This architecture decouples application logic from component construction and persistent storage, allowing for a pluggable system where data sources and business logic are isolated throug
Converts binary MessagePack payloads into objects for use within controllers and validates them against JSON schemas.
MemoryPack ist eine performante Binär-Serialisierungsbibliothek für C# und Unity. Sie bietet eine Zero-Allocation-Daten-Pipeline und ein Schema-Evolutions-Framework, das darauf ausgelegt ist, Speicherallokationen und Kodierungs-Overhead zu minimieren. Das Projekt nutzt Source-Generatoren zur Kompilierzeit, um Laufzeit-Reflektion zu vermeiden, und implementiert ein Zero-Encoding-Binärformat für maximalen Durchsatz. Es zeichnet sich durch einen Zero-Allocation-Ansatz aus, der Objektinstanzen wiederverwendet, um den Garbage-Collection-Druck zu reduzieren, und das Speicherlayout nicht verwalteter Structs direkt in Binär-Streams kopiert. Die Bibliothek deckt Binär-Schema-Versionierung für Abwärtskompatibilität ab und unterstützt asynchrones Collection-Streaming für große Datensätze. Sie enthält einen TypeScript-Typ-Generator zur Synchronisation von Datenstrukturen zwischen C# und TypeScript für den sprachübergreifenden Datenaustausch. Zusätzliche Funktionen umfassen Payload-Kompression, benutzerdefinierte Formatter-Implementierungen und Serialisierungs-Callbacks.
Provides an optimized binary serialization engine for C# designed for minimal CPU and memory overhead.
Fury ist ein sprachübergreifendes Framework für binäre Serialisierung, das für die Kodierung von Domänenobjekten und komplexen Graphen entwickelt wurde, um den Datenaustausch zwischen verschiedenen Sprachen zu erleichtern. Es enthält einen Compiler für eine Interface Definition Language (IDL), der Schemadefinitionen in idiomatische native Typen und Serialisierungs-Boilerplate über mehrere Sprachen hinweg übersetzt. Das Projekt zeichnet sich durch einen Zero-Copy-Binär-Reader aus, der den Zugriff auf spezifische Felder ermöglicht, ohne das gesamte Objekt zu deserialisieren, sowie durch einen Objekt-Graph-Serializer, der zirkuläre Referenzen und referenzielle Integrität bewahrt. Es enthält zudem einen Datenkonverter, der zeilenbasierte Binärdaten für analytische Workloads in spaltenbasierte Apache-Arrow-Formate transformiert. Das Framework deckt breite Funktionsbereiche ab, einschließlich metadatengesteuerter Schema-Evolution für Vorwärts- und Rückwärtskompatibilität, einen AOT-Kompilierungsprozess zur Eliminierung von Laufzeit-Reflektion und sichere Deserialisierung durch Whitelist-basierte Typvalidierung. Es bietet zudem Integration für hochperformante Remote Procedure Calls via gRPC.
Provides high-performance serialization alternatives for complex native types, including support for lambdas.
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
Provides high-performance conversion of complex object graphs into compact binary formats for minimal latency.
Project-graph is a visual workspace designed for managing complex information through node-based knowledge graphs. It provides a direct manipulation interface that allows users to organize data into logical networks, mapping non-linear thoughts and project workflows through interconnected nodes and bidirectional links. The system distinguishes itself through an event-sourced state management model that records every modification as a discrete action, enabling precise undo and redo capabilities. It incorporates a reactive layout engine that automatically calculates node spacing and connection
Optimizes the conversion of complex graph structures into binary formats for improved storage and performance.
json-joy ist eine umfassende Bibliothek zum Aufbau kollaborativer Echtzeitanwendungen und verteilter Systeme. Sie bietet ein robustes Framework zur Verwaltung geteilter JSON-ähnlicher Datenstrukturen, die konkurrierende Bearbeitungen mehrerer Benutzer automatisch zusammenführen und so einen konsistenten Zustand über alle Replikate hinweg sicherstellen, ohne dass ein zentraler Koordinationsserver erforderlich ist. Das Projekt zeichnet sich durch einen hochperformanten Ansatz bei der Datenverarbeitung aus und nutzt konfliktfreie replizierte Datentypen (CRDTs) und logische uhrbasierte Synchronisierung, um die Datenintegrität zu wahren. Es enthält eine spezialisierte Engine zum Navigieren und Manipulieren komplexer verschachtelter Objekte unter Verwendung standardisierter Pointer-Syntax, neben einem Toolkit zum Anwenden granularer, atomarer Modifikationen auf Dokumente. Diese Funktionen werden durch eine Hochgeschwindigkeits-Serialisierungsbibliothek ergänzt, die kompakte Binärformate unterstützt, um Netzwerkbandbreite und Speichereffizienz zu optimieren. Über die Kern-Synchronisationslogik hinaus bietet die Bibliothek eine breite Suite von Tools für reaktives State-Management und UI-Integration. Sie stellt deklarative Hooks und Komponenten bereit, die geteilte Datenmodelle direkt an webbasierte Text- und Code-Editoren binden und Funktionen wie Echtzeit-Präsenz, Remote-Cursor-Rendering und lokale Historienverfolgung ermöglichen. Das System unterstützt zudem fortgeschrittene Datenverarbeitung, einschließlich Schema-Validierung, Ausdrucksauswertung und baumbasierter Datenorganisation mit hoher Performance.
Serializes complex data structures into compact binary formats to reduce network bandwidth usage and accelerate parsing speeds.
PalDB ist eine einbettbare Key-Value-Storage-Engine für Java, die für hochperformante Datenabrufe entwickelt wurde. Sie fungiert als Bibliothek, die Daten in einer einzigen, unveränderlichen Binärdatei persistiert und eine Speicherlösung für Write-Once-Workloads bietet, die im Vergleich zu Standard-In-Memory-Collections nur minimalen Speicher-Overhead erfordert. Das System zeichnet sich durch ein Write-Once-Datenlayout aus, das Sperrmechanismen während gleichzeitiger Leseoperationen überflüssig macht. Durch die Nutzung von Memory-Mapped-File-Zugriff und sortierter Key-Indizierung ermöglicht die Engine schnelle Lookups direkt innerhalb des Prozess-Adressraums. Diese Architektur unterstützt die Verteilung statischer Datensätze als schreibgeschützte Dateien, die eingebettet und von mehreren Anwendungsinstanzen abgerufen werden können. Die Bibliothek enthält ein Framework für hochperformante Datenserialisierung, das es Entwicklern ermöglicht, benutzerdefinierte Logik für die Konvertierung komplexer Objekte in kompakte Binärströme zu definieren. Diese Erweiterbarkeit stellt sicher, dass einzigartige Datenstrukturen effizient innerhalb der lokalen Anwendungsumgebung gespeichert und abgerufen werden können.
Converts complex custom objects into efficient binary formats for fast storage and retrieval within local application environments.