12 repository-uri
Systems for managing a shared pool of byte arrays to reduce garbage collection overhead during I/O operations.
Distinct from Particle Pool Managers: Distinct from object pooling for particles or tasks, this specifically manages raw byte array segments for I/O performance.
Explore 12 awesome GitHub repositories matching software engineering & architecture · Byte Buffer Pooling. Refine with filters or upvote what's useful.
This project is a high-performance JSON library for Go, serving as a replacement for the standard encoding/json package. It provides a serialization engine for encoding and decoding data structures, alongside a schemaless parser for extracting specific values from JSON blobs using paths. The library distinguishes itself through a focus on reducing CPU and memory overhead. It implements a high-performance encoder that utilizes buffer reuse and reduced float precision to increase data throughput. Broad capability areas include data serialization, high-performance JSON processing, and schema-le
Implements a shared pool of byte arrays to reduce garbage collection overhead during the JSON encoding process.
Okio is a Java I/O library providing a set of tools for efficient byte-stream processing and file system operations. It functions as a buffered byte stream handler and streaming data transformer, utilizing a cross-platform file system API to manage data movement. The project is distinguished by its use of pooled mutable byte buffers that treat sequences as queues to reduce memory copying and garbage collection churn. It further decouples file operations from the host operating system through an abstraction-based file system, allowing for consistent path manipulation and atomic operations acro
Manages byte arrays in a shared pool to reuse memory and reduce garbage collection overhead during I/O.
Bigcache is a thread-safe, in-memory key-value store for Go designed to minimize garbage collection pauses. It functions as a memory-optimized cache capable of storing gigabytes of data while maintaining low latency during high-volume operations. The system avoids garbage collection overhead by managing memory through large byte arrays and manual allocation. It utilizes a circular-buffer layout to reuse space and lock-striped sharding to reduce contention during concurrent read and write access. The project provides capabilities for high-volume in-memory caching and low-latency data retrieva
Implements data storage in large contiguous byte slices to significantly reduce garbage collection overhead.
gopacket is a Go library for live packet capture and multi-layer protocol decoding. It provides a framework for parsing raw network bytes into structured protocol layers, enabling inspection and analysis of network traffic directly from interfaces or packet capture files. The library distinguishes itself through a layered protocol stack that organizes decoders as independent, composable layers, and an interface-based decoder registry that supports extensible custom protocol development. It offers zero-copy packet decoding for high-throughput parsing, stream-based TCP reassembly to reconstruct
Reuses pre-allocated byte buffers across packet decodes to reduce garbage collection pressure.
GraphQL.NET este un framework server-side pentru construirea și executarea API-urilor GraphQL în aplicații C#. Acesta oferă un toolkit cuprinzător pentru construirea schemelor, un motor federat pentru grafuri de date distribuite și un handler de subscripții pentru gestionarea fluxurilor de date în timp real. Proiectul se distinge printr-un constructor de scheme flexibil care suportă atât definiții programatice code-first, cât și abordări declarative schema-first folosind limbajul standard de definire a schemelor. Include un motor de federare dedicat pentru a diviza grafurile de date în subgrafuri și a le compune într-un gateway unificat, precum și o implementare de data loader concepută special pentru a rezolva problema interogărilor N+1 prin batching și caching. Framework-ul acoperă o gamă largă de capabilități operaționale, inclusiv integrarea dependency injection pentru gestionarea duratei de viață a serviciilor, pipeline-uri middleware pentru interceptarea rezoluției câmpurilor și un pipeline de execuție optimizat cu tipuri de valoare pentru a reduce alocările de memorie. De asemenea, oferă instrumente pentru analiza complexității interogărilor, caching-ul documentelor și controlul accesului bazat pe roluri pentru securizarea endpoint-urilor API. Suportul pentru compilarea schemelor ahead-of-time permite framework-ului să ruleze în medii care interzic generarea dinamică de cod.
Utilizes shared array pooling to store query results, minimizing frequent memory allocations.
ZLinq is a zero-allocation LINQ library and memory-efficient collection toolkit for C#. It provides a high-performance replacement for standard query operations by using value-type enumerators and pooled memory to eliminate heap allocations and reduce garbage collection overhead. The library features a C# source generator that automatically routes standard query method calls to these zero-allocation implementations. It further accelerates data processing through a SIMD accelerated data library, using hardware vectorization for numeric aggregations and bulk operations on primitive arrays and s
Rents temporary buffers from a shared memory pool to store query results instead of allocating new arrays.
This is an educational relational database engine used in Carnegie Mellon University's database systems course. Students learn internals by implementing core components of a working database, including storage, indexing, concurrency control, and crash recovery. The system covers key database architecture: a B+ tree index for fast key-based lookups and range scans, a disk-oriented buffer pool that caches pages from disk, an iterator-based query execution model that composes physical operators, page-based storage for records, two-phase locking for coordinating concurrent transactions, and write
Ships a disk-oriented buffer pool that caches pages from disk to minimize I/O operations.
MiniOB is an open-source educational relational database kernel designed for learning the internals of database systems. It implements a dual-engine storage architecture combining B+ Tree and LSM-Tree, supports SQL parsing and query execution, and provides transactional processing with multi-version concurrency control. The system communicates with clients using the MySQL wire protocol and includes a vector database extension for storing and querying high-dimensional vectors. The project distinguishes itself through its comprehensive coverage of core database concepts in a single, learnable c
Read large sequential page runs directly into local query memory instead of the shared buffer pool.
Connect-go is a library for building type-safe remote procedure call services that are wire-compatible with gRPC and HTTP. It provides a Go implementation of Protocol Buffers for structured data exchange, enabling the creation of multi-protocol RPC servers and generated type-safe clients. The framework is distinguished by its polyglot protocol support, allowing a single server handler to serve requests using several different protocols simultaneously over HTTP. This includes the ability to toggle between different transport protocols for the same service and the use of pluggable content negot
Utilizes a shared pool of byte arrays to reduce garbage collection overhead during serialization.
SharpZipLib este o bibliotecă de compresie și arhivare pentru .NET, utilizată pentru a crea, extrage și gestiona arhive Zip, GZip, Tar și BZip2. Oferă un framework pentru comprimarea și decomprimarea fluxurilor de date și a fișierelor în ecosistemul .NET. Biblioteca se distinge prin suportul pentru arhive care depășesc limita standard de patru gigaocteți. Include, de asemenea, capabilități pentru decriptarea fișierelor protejate prin parolă folosind criptare standard din industrie și gestionarea arhivelor Tar cu suport pentru nume lungi de fișiere. Proiectul acoperă o gamă largă de operațiuni de gestionare a arhivelor, inclusiv validarea integrității, căutarea intrărilor și modificarea conținutului arhivelor existente. Capabilitățile sale de compresie acoperă mai mulți algoritmi, inclusiv formatele BZip2, zlib și raw deflate.
Implements a system for managing byte arrays to minimize memory allocations and garbage collection overhead.
Undertow is a Java HTTP web server and non-blocking I/O server implementation. It functions as a Jakarta Servlet container and a WebSocket server, providing the infrastructure to execute standardized servlet components and maintain persistent full-duplex communication channels for real-time data exchange. The project is characterized by an asynchronous architecture that utilizes a non-blocking I/O model to handle large numbers of concurrent connections. It incorporates buffer-pooling mechanisms and zero-copy data transfers to reduce memory allocation and garbage collection pressure. The syst
Uses a shared pool of byte arrays to reduce garbage collection overhead during high-volume I/O operations.
franz-go is a low-level Go client library and wire protocol implementation for producing, consuming, and administering Kafka clusters. It functions as a zero-allocation network driver that utilizes a direct TCP communication layer to handle requests and responses. The project integrates a schema registry client for encoding and decoding structured data. It provides a programmatic interface for cluster administration, including the management of topics, access control lists, and broker configurations. The library covers data consumption through consumer groups, message production with transac
Utilizes a pool of reusable byte buffers to reduce garbage collection overhead during network I/O operations.