17 dépôts
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 est un framework d'API Node.js utilisé pour construire des API REST et multi-protocoles. Il fonctionne comme une implémentation de serveur OpenAPI capable soit de générer des spécifications lisibles par machine à partir du code, soit de produire des contrôleurs et des modèles d'implémentation à partir de spécifications existantes. Le framework se distingue par un conteneur d'injection de dépendances central et une couche d'accès aux données basée sur le pattern repository. Cette architecture découple la logique applicative de la construction des composants et du stockage persistant, permettant un système enfichable où les sources de données et la logique métier sont isolées via un système de connecteurs standardisé. Le projet couvre un large éventail de capacités, incluant le contrôle d'accès basé sur les rôles avec des stratégies d'authentification enfichables et l'orchestration de services REST et SOAP externes. Il fournit également des outils pour la communication en temps réel via des endpoints WebSocket, la validation de schémas JSON, et l'échafaudage automatique de projets via une interface en ligne de commande. Le développement est soutenu par un ensemble d'outils CLI pour amorcer les applications, générer des composants d'API et gérer les dépendances du projet.
Converts binary MessagePack payloads into objects for use within controllers and validates them against JSON schemas.
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
Provides an optimized binary serialization engine for C# designed for minimal CPU and memory overhead.
Fury est un framework de sérialisation binaire multi-langage conçu pour encoder des objets de domaine et des graphes complexes afin de faciliter l'échange de données entre langages. Il inclut un compilateur de langage de définition d'interface (IDL) qui traduit les définitions de schéma en types natifs idiomatiques et en code de sérialisation répétitif à travers plusieurs langages. Le projet se distingue par un lecteur binaire zero-copy qui permet d'accéder à des champs spécifiques sans désérialiser l'objet entier, ainsi qu'un sérialiseur de graphe d'objets qui préserve les références circulaires et l'intégrité référentielle. Il dispose également d'un convertisseur de données qui transforme les données binaires basées sur des lignes en formats Apache Arrow colonnaires pour les charges de travail analytiques. Le framework couvre de vastes domaines de capacités, incluant l'évolution de schéma pilotée par métadonnées pour la compatibilité ascendante et descendante, un processus de compilation AOT au moment du build pour éliminer la réflexion à l'exécution, et une désérialisation sécurisée via une validation de type basée sur liste blanche. Il fournit en outre une intégration pour des appels de procédure à distance haute performance 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 est un espace de travail visuel conçu pour gérer des informations complexes via des graphes de connaissances basés sur des nœuds. Il fournit une interface de manipulation directe qui permet aux utilisateurs d'organiser les données en réseaux logiques, cartographiant les pensées non linéaires et les flux de travail de projet via des nœuds interconnectés et des liens bidirectionnels. Le système se distingue par un modèle de gestion d'état basé sur l'événementiel qui enregistre chaque modification comme une action discrète, permettant des capacités précises d'annulation et de rétablissement. Il intègre un moteur de mise en page réactif qui calcule automatiquement l'espacement des nœuds et les chemins de connexion lors de l'interaction pour maintenir la clarté visuelle et éviter le chevauchement des éléments. La plateforme prend en charge une gestion complète des connaissances visuelles, incluant des outils pour étiqueter les connexions, personnaliser la navigation de l'interface et structurer les données en graphes imbriqués. Pour garantir l'intégrité et les performances des données, le système utilise une persistance automatique en temps réel et une sérialisation binaire pour optimiser l'efficacité du stockage pour les grands jeux de données.
Optimizes the conversion of complex graph structures into binary formats for improved storage and performance.
json-joy est une bibliothèque complète pour construire des applications collaboratives en temps réel et des systèmes distribués. Elle fournit un framework robuste pour gérer des structures de données de type JSON partagées qui fusionnent automatiquement les modifications concurrentes de plusieurs utilisateurs, garantissant un état cohérent sur toutes les répliques sans nécessiter de serveur de coordination central. Le projet se distingue par une approche haute performance de la gestion des données, utilisant des types de données répliqués sans conflit (CRDT) et une synchronisation basée sur des horloges logiques pour maintenir l'intégrité des données. Il inclut un moteur spécialisé pour naviguer et manipuler des objets imbriqués complexes en utilisant une syntaxe de pointeur standardisée, ainsi qu'une boîte à outils pour appliquer des modifications granulaires et atomiques aux documents. Ces capacités sont complétées par une bibliothèque de sérialisation haute vitesse qui prend en charge des formats binaires compacts pour optimiser la bande passante réseau et l'efficacité du stockage. Au-delà de sa logique de synchronisation de base, la bibliothèque offre une large suite d'outils pour la gestion d'état réactive et l'intégration de l'interface utilisateur. Elle fournit des hooks et des composants déclaratifs qui lient les modèles de données partagés directement aux éditeurs de texte et de code basés sur le web, permettant des fonctionnalités comme la présence en temps réel, le rendu de curseur distant et le suivi de l'historique local. Le système prend également en charge le traitement avancé des données, incluant la validation de schéma, l'évaluation d'expressions et l'organisation de données basée sur des arbres haute performance.
Serializes complex data structures into compact binary formats to reduce network bandwidth usage and accelerate parsing speeds.
PalDB est un moteur de stockage clé-valeur embarquable pour Java conçu pour une récupération de données haute performance. Il fonctionne comme une bibliothèque qui persiste les données dans un fichier binaire unique et immuable, fournissant une solution de stockage pour les charges de travail « write-once » qui nécessitent une surcharge mémoire minimale par rapport aux collections en mémoire standard. Le système se distingue par une disposition des données « write-once » qui élimine le besoin de mécanismes de verrouillage lors des opérations de lecture simultanées. En utilisant l'accès aux fichiers mappés en mémoire et l'indexation des clés triées, le moteur permet des recherches rapides directement dans l'espace d'adressage du processus. Cette architecture prend en charge la distribution de jeux de données statiques sous forme de fichiers en lecture seule qui peuvent être embarqués et consultés par plusieurs instances d'application. La bibliothèque inclut un framework pour la sérialisation de données haute performance, permettant aux développeurs de définir une logique personnalisée pour convertir des objets complexes en flux binaires compacts. Cette extensibilité garantit que des structures de données uniques peuvent être efficacement stockées et récupérées au sein de l'environnement applicatif local.
Converts complex custom objects into efficient binary formats for fast storage and retrieval within local application environments.