29 个仓库
Techniques that map files directly into process memory to avoid redundant data copying between kernel and user space.
Explore 29 awesome GitHub repositories matching data & databases · Zero-Copy Memory Mappings. Refine with filters or upvote what's useful.
Meilisearch is a Rust-based search engine providing typo-tolerant full-text and vector-based semantic search with real-time conversational capabilities.
Maps database files directly into memory to eliminate redundant data copying between kernel and user space.
simdjson is a high-performance, header-only C++ library designed for parsing, querying, and serializing JSON data with minimal memory overhead. It functions as a hardware-aware data processing engine that leverages vector instructions to achieve gigabyte-per-second parsing speeds. By detecting host processor capabilities at runtime, the library automatically selects the most efficient instruction sets to accelerate structural analysis and validation. The library distinguishes itself through a focus on extreme efficiency and resource management. It utilizes memory mapping and padded buffer ali
The library provides direct access to memory-mapped files or string buffers to enable efficient processing of large data structures without intermediate copies.
Candle is a minimalist machine learning framework and deep learning inference engine designed for the Rust programming language. It functions as a low-level tensor computation library, providing the necessary primitives for multi-dimensional array operations and mathematical transformations required to execute pre-trained neural network models. The framework distinguishes itself through a focus on memory efficiency and hardware utilization. It employs static-typed tensor operations to enforce shape validation and memory safety at compile time, while utilizing a lazy-loaded computational graph
Uses zero-copy memory mapping to access model weights directly from disk, reducing data duplication and memory footprint.
This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction layer for rendering and parallel processing. It enables developers to build high-performance applications that execute consistently across diverse operating systems and hardware backends, including Vulkan, Metal, and DirectX. By mapping high-level graphics commands to native APIs, it serves as a portable foundation for both real-time 3D rendering and general-purpose GPU computing. The framework distinguishes itself through a robust architecture that supports both native deskt
Transfers processed results from graphics memory back to the host system by mapping buffers for reading.
Realm-Cocoa is a NoSQL mobile database engine and reactive object database designed for local data storage on mobile devices. It serves as a non-relational alternative to Core Data and SQLite, storing data as objects rather than tables. The system functions as an encrypted local store that protects sensitive application data using encryption. It provides reactive data synchronization, allowing application objects and user interfaces to update automatically when the underlying database changes.
Maps database files directly into memory to read data without copying bytes into the application heap.
This is a mobile object database and NoSQL local data store that replaces relational tables with a schema-based model. It functions as a reactive data store, using live object observations and change notifications to trigger automatic user interface refreshes. The system provides built-in mobile cloud data synchronization to keep local datasets consistent with a remote server across multiple devices. It also includes security features for encrypted local storage, protecting sensitive on-disk data using at-rest encryption keys and fine-grained access control. Broad capabilities include object
Uses zero-copy memory mappings to read data directly from the database map without intermediate allocations.
Mold is a high-performance linker designed to replace standard system tools for the creation of executable binaries and shared libraries. It functions as a drop-in replacement for existing linkers, focusing on accelerating the final build phase of large software projects to improve developer productivity. The tool achieves its performance by utilizing multi-threaded processing to distribute the linking of object files across multiple CPU cores. It supports cross-architecture binary linking, allowing it to process compiled files for diverse platforms efficiently. By intercepting standard linke
Maps input object files directly into the process address space to minimize data copying and reduce system call overhead.
Redpanda is a distributed event streaming engine designed to serve as a high-performance, drop-in replacement for existing event-driven architectures. It provides a foundation for building and scaling applications that require reliable data movement, analytical querying, and strict operational compliance across both cloud and self-managed environments. The platform distinguishes itself through a shared-nothing architecture that utilizes thread-per-core execution and a non-blocking asynchronous input/output engine to maximize throughput. It maintains data consistency through a consensus-based
Implements a zero-copy data path using memory mapping to minimize CPU cycles and memory allocation overhead.
OpenVINO is an AI inference engine and model serving platform designed to execute optimized deep learning models across CPUs, GPUs, and NPUs through a unified API. It includes a model optimization toolkit for converting, quantizing, and compressing models from various frameworks, alongside a specialized generative AI runtime for large language models. The project distinguishes itself through a plugin-based hardware acceleration layer that maps neural network operations to vendor-specific drivers. It features advanced execution mechanisms such as continuous batching, speculative decoding, and
Eliminates data duplication overhead by sharing memory buffers between the host and hardware accelerators.
Seastar is a C++ server application framework and asynchronous programming library designed for building high-performance, shared-nothing server applications. It functions as a high-performance I/O engine providing direct disk and network access through a shared-nothing framework that partitions data and execution across CPU cores. The framework distinguishes itself through a thread-per-core architecture that eliminates locking and resource contention by assigning one execution thread to each physical CPU core. It implements a userspace TCP/IP stack and kernel-bypass techniques, integrating w
Moves data directly between storage devices and application memory using DMA-based APIs for maximum efficiency.
Sled is an embedded key-value store and ACID-compliant database designed for high-performance data persistence. It functions as a log-structured storage engine that organizes data using B+ trees to support efficient range queries and prefix scans. The engine implements a zero-copy data store model, utilizing epoch-based reclamation to provide direct references to cached values without memory allocations. It distinguishes itself through a combination of write-ahead logging, page cache optimizations to reduce write amplification on flash storage, and serializable transactions for atomic multi-k
Provides direct references to cached values using epoch-based reclamation to eliminate memory allocations during reads.
Crossbeam is a concurrency toolkit for Rust providing low-level primitives for writing multi-threaded programs. It focuses on lock-free data structures and memory management primitives designed for shared-memory concurrent environments. The project includes a work-stealing scheduler that uses double-ended queues to balance workloads across multiple processor cores. This system enables the implementation of work-stealing deques to distribute tasks and prevent bottlenecks. The toolkit covers broader capabilities for parallel algorithm development, multi-threaded task scheduling, and general co
Implements epoch-based reclamation to safely defer memory deletion in concurrent environments.
Kitex is a high-performance remote procedure call framework for building distributed microservices in Go. It provides a communication system compatible with gRPC and Protobuf standards and includes a suite of tools for microservices governance. The framework features proxyless service mesh integration, which allows it to manage network traffic and governance directly without adding sidecar proxy latency. It optimizes data throughput through a high-performance communication library that minimizes memory copies. The system covers a broad surface of distributed capabilities, including service d
Reduces memory overhead and increases throughput by utilizing direct memory access during codec operations.
Hertz is a high-performance Go HTTP framework designed for building scalable microservices, RESTful APIs, and AI applications. It functions as a high-performance web server and a communication framework for microservices, utilizing non-blocking I/O and zero-copy memory management to handle high-concurrency traffic. The project distinguishes itself through a microservices communication toolkit that supports high-efficiency remote procedure calls via gRPC and Thrift protocols. It implements an asynchronous middleware engine based on an onion model, allowing for a pluggable request-response pipe
Implements zero-copy memory management using reference counting to handle high-concurrency traffic with minimal memory overhead.
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 high-throughput serialization by performing unsafe memory copies of primitive arrays to bypass element-by-element processing.
Pony is an open-source, actor-model, capabilities-secure, high performance programming language
Manages memory through compiler-inserted reference counting driven by reference capabilities, eliminating the need for a tracing garbage collector.
cuml is a GPU-accelerated machine learning library and framework that uses CUDA to accelerate tabular data preprocessing and model execution. It provides a suite of tools for training and deploying classification, regression, and clustering models on NVIDIA GPUs and GPU clusters. The library is designed for scalability, offering a distributed GPU machine learning environment that can spread computation and data across multiple hardware accelerators and nodes to handle datasets exceeding single-device memory. It mirrors standard estimator interfaces to allow the replacement of CPU-based models
Uses shared memory pointers and standard array interfaces to move data between libraries without expensive serialization.
NCCL 是一个高性能通信库和分布式 GPU 计算框架,专为在单节点或多节点系统中的多个 GPU 之间执行集合和点对点数据交换而设计。它充当 RDMA GPU 传输层和内存编排器,为分布式 GPU 训练和推理提供高带宽的数据和模型梯度同步。 该库的特色在于能够直接从 GPU 内核执行通信原语,将主机 CPU 从关键路径中移除。它利用拓扑感知路径选择来优化数据移动,并采用包括 InfiniBand 和 NVLink 在内的基于 RDMA 的网络传输,以实现设备跨不同物理节点之间的零拷贝内存访问。 该项目涵盖了广泛的集合通信模式,包括归约(Reductions)、广播(Broadcasts)、收集(Gathers)和全对全交换(All-to-all exchanges),以及点对点远程内存访问。它提供全面的通信器管理,用于初始化、分区和调整 GPU 组大小,以及用于注册缓冲区和协调共享设备内存的专用内存管理。 该系统包括一套用于健康跟踪、诊断日志记录和实时事件监控的监控与可观测性工具,以及用于机器学习框架、CUDA Graphs、MPI 和 Python 的集成接口。
Maps user memory regions directly to network interfaces to eliminate intermediate CPU copies during data transfers.
MemoryPack 是一个用于 C# 和 Unity 的高性能二进制序列化库。它提供了一个零分配(Zero-allocation)数据流水线和模式演进框架,旨在最大限度地减少内存分配和编码开销。 该项目利用编译时源代码生成器来避免运行时反射,并实现了一种零编码二进制格式以实现最大吞吐量。它通过一种零分配方法脱颖而出,该方法重用对象实例以减少垃圾回收压力,并将非托管结构体的内存布局直接复制到二进制流中。 该库涵盖用于向后兼容的二进制模式版本控制,并支持针对大数据集的异步集合流式传输。它包括一个 TypeScript 类型生成器,用于在 C# 和 TypeScript 之间同步数据结构以进行跨语言数据交换。其他功能包括有效载荷压缩、自定义格式化程序实现和序列化回调。
Implements high-speed serialization by copying the memory layout of blittable structs directly to the output stream.
rkyv 是一个用于 Rust 的零拷贝反序列化框架,提供了一种用于内存映射数据归档的二进制序列化格式。它允许将复杂的数据结构映射到字节,并直接从缓冲区访问,而无需分配新内存或复制数据。 该项目支持多态类型和特征对象的序列化,在二进制形式中保持其动态行为和结构。它利用相对指针寻址和字节对齐的结构打包,确保数据无论加载到内存中的何处都保持有效。 该框架通过直接内存映射涵盖了高性能数据持久化和低延迟状态管理。它为应用程序提供了零拷贝数据访问和在需要时进行完整数据类型重建的机制。
Maps byte buffers directly to memory addresses to enable data access without allocation or copying.