8 个仓库
Encodings that represent integers using a variable number of bytes to optimize space based on value magnitude.
Explore 8 awesome GitHub repositories matching data & databases · Variable-Width Integer Encodings. Refine with filters or upvote what's useful.
Protocol Buffers is a binary serialization framework used to encode structured information into compact payloads to reduce network bandwidth and storage. It functions as a cross-language data interchange standard that enables different platforms and languages to exchange structured data using a shared schema. The project includes an interface definition language compiler that transforms schema definitions into type-safe source code for multiple target programming languages. This mechanism decouples data structures from specific language memory layouts and ensures consistent data handling acro
Employs variable-length integer encoding to compress numeric values and reduce overall payload volume.
Protocol Buffers 是一种语言中立、平台无关的结构化数据序列化机制。它提供了一个模式驱动的工具链,将声明式数据定义编译为类型安全的源代码,从而在不同编程语言编写的服务之间实现一致的通信和强类型的 API 契约。 该项目以其高效的二进制线路格式脱颖而出,该格式利用基于标签的编码和变宽整数压缩来最小化有效载荷大小和处理开销。它支持稳健的演进式模式管理,允许开发者在保持向后和向前兼容性的同时增量更新数据结构。这得到了版本化版本系统的进一步支持,该系统管理跨分布式软件组件的功能集和序列化逻辑。 除了核心二进制序列化外,该项目还包括用于模式验证的规范 JSON 转换、细粒度的符号可见性控制以及用于区分默认值和未设置值的字段存在性跟踪功能。它还提供专门的优化,例如 C++ 实现中基于竞技场(arena)的内存管理,以提高创建和清理复杂消息树时的性能。
Optimizes payload size by encoding integers using a variable number of bytes based on the magnitude of the value.
This project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming. It serves as a centralized repository for algorithmic theory, data structures, and mathematical techniques, providing a structured reference for informatics and collegiate programming competitions. The project distinguishes itself by integrating educational content with a robust suite of automation utilities. It provides a complete workflow for competitive programming, including tools for automated test case generation, solution verification, and direct interaction with onlin
Compresses complex problem states into integer representations to reduce memory usage and computational complexity in dynamic programming.
LogicStack-LeetCode is a curated repository of solved algorithm problems and data structure implementations, primarily drawn from the LeetCode platform. Its core identity is a structured collection of solutions designed to support technical interview preparation and competitive programming practice, with each solution accompanied by complexity analyses to help engineers understand performance trade-offs. The repository distinguishes itself through its breadth of coverage across fundamental algorithmic patterns and data structures. It includes implementations for array manipulation, string pro
Applies bitmask-based dynamic programming to encode subsets as integers for combinatorial optimization and constraint satisfaction.
MessagePack is a binary object serialization library and a cross-platform data exchange format. It serves as a binary alternative to JSON, converting structured data into a space-efficient binary representation for network transmission and storage. The system provides a standardized format for swapping complex data types across different programming languages and architectures. It allows for the definition of custom data type encoding by pairing application-specific information with specialized serialization markers. The library handles the encoding and decoding of diverse data types, includ
Represents integers using variable-width encoding to minimize space based on the magnitude of the value.
Snappy is a high-performance lossless compression library implemented in C++. It provides data reduction methods that perfectly restore original information, focusing on system-level efficiency and processing velocity across different platforms. The library prioritizes high-speed data compression and decompression over achieving the maximum possible compression ratio. It is designed for real-time stream compression to reduce bandwidth usage without introducing significant processing latency. The implementation covers high-velocity data shrinking and rapid restoration. It includes resilient d
Employs variable-width integer encodings using continuation bits to optimize storage for small numbers.
Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact binary format and restore them from bytes. It provides a system for creating deep or shallow copies of complex object graphs without requiring binary conversion. The project utilizes variable-length integer encoding and integer-ID class registration to reduce the size of serialized data. It handles complex object graphs through circular reference tracking to prevent data duplication and infinite loops. To maintain long-term data viability, it includes schema evolution managemen
Employs variable-width integer encoding to represent numbers using fewer bytes and reduce binary size.
This project provides a technical specification and reference manual for the MQTT 3.1.1 standard, serving as a translated Chinese guide for implementing this lightweight IoT messaging protocol in resource-constrained device networks. The documentation covers the fundamental mechanisms of the publish-subscribe model, including topic-based routing with wildcard filtering, retained message storage, and the configuration of last will and testament messages. It details the protocol's approach to reliability through various quality of service levels, ranging from single-level acknowledgments to exa
Utilizes a continuation-bit scheme for variable-length integer encoding to optimize packet header size.