12 مستودعات
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 هو إطار عمل من جانب الخادم لبناء وتنفيذ واجهات برمجة تطبيقات GraphQL داخل تطبيقات C#. يوفر مجموعة أدوات شاملة لبناء المخططات، ومحركاً اتحادياً لرسوم البيانات الموزعة، ومعالج اشتراكات لإدارة تدفقات البيانات في الوقت الفعلي. يتميز المشروع بمنشئ مخططات مرن يدعم كلاً من تعريفات الكود أولاً البرمجية ونهج المخطط أولاً التصريحي باستخدام لغة تعريف المخطط القياسية. يتضمن محرك اتحاد مخصص لتقسيم رسوم البيانات إلى رسوم فرعية وتكوينها في بوابة موحدة، بالإضافة إلى تنفيذ محمل بيانات مصمم خصيصاً لحل مشكلة استعلام N+1 من خلال التجميع والتخزين المؤقت. يغطي إطار العمل مجموعة واسعة من القدرات التشغيلية، بما في ذلك تكامل حقن التبعية لإدارة عمر الخدمة، وخطوط أنابيب البرمجيات الوسيطة لاعتراض دقة الحقول، وخط أنابيب تنفيذ محسن بأنواع القيم لتقليل تخصيصات الذاكرة. كما يوفر أدوات لتحليل تعقيد الاستعلام، والتخزين المؤقت للمستندات، والتحكم في الوصول القائم على الأدوار لتأمين نقاط نهاية API. يسمح دعم تجميع المخططات مسبقاً لإطار العمل بالتنفيذ في البيئات التي تحظر إنشاء الكود الديناميكي.
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 هي مكتبة لبناء خدمات استدعاء إجراءات عن بُعد (RPC) آمنة من حيث النوع ومتوافقة مع gRPC و HTTP. توفر تطبيق Go لـ Protocol Buffers لتبادل البيانات المنظمة، مما يتيح إنشاء خوادم RPC متعددة البروتوكولات وعملاء آمنين من حيث النوع. يتميز إطار العمل بدعم البروتوكولات المتعددة، مما يسمح لمعالج خادم واحد بخدمة الطلبات باستخدام عدة بروتوكولات مختلفة في وقت واحد عبر HTTP. يتضمن ذلك القدرة على التبديل بين بروتوكولات النقل المختلفة لنفس الخدمة واستخدام تفاوض المحتوى القابل للتوصيل للاختيار بين الترميز الثنائي و JSON. يغطي المشروع مجموعة واسعة من قدرات تكامل واجهة برمجة التطبيقات، بما في ذلك بث الرسائل أحادي وثنائي الاتجاه، ووسيط شبكة لاعتراض الطلبات، وإدارة الأخطاء المنظمة. كما يتضمن أدوات تشغيلية لإعداد تقارير صحة الخدمة، وضغط الحمولة، وإعادة تدوير مخزن الذاكرة المؤقت لتقليل عبء جمع القمامة (garbage collection).
Utilizes a shared pool of byte arrays to reduce garbage collection overhead during serialization.
SharpZipLib is a .NET compression library and file archiver used to create, extract, and manage Zip, GZip, Tar, and BZip2 archives. It provides a framework for compressing and decompressing data streams and files within the .NET ecosystem. The library distinguishes itself through support for archives that exceed the standard four gigabyte size limit. It also includes capabilities for decrypting password-protected files using industry-standard encryption and managing Tar archives with long filename support. The project covers a broad range of archive management operations, including integrity
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.