2 Repos
Implements memory management for buffers using reference counting to coordinate shared access and ensure safe deallocation.
Distinct from Memory Buffer Access: Distinct from Memory Buffer Access: focuses specifically on the lifetime tracking mechanism (reference counting) rather than just the act of accessing the buffer.
Explore 2 awesome GitHub repositories matching operating systems & systems programming · Reference-Counted Buffers. Refine with filters or upvote what's useful.
nghttp2 ist eine Suite von Low-Level-C-Bibliotheken und Tools für die Implementierung des HTTP/2-Protokolls. Sie bietet eine speichereffiziente Implementierung der Kernlogik des Protokolls, einschließlich Framing, Stream-Multiplexing und Flusskontrolle. Das Projekt enthält eine dedizierte Bibliothek für HPACK-Header-Kompression und -Dekompression zur Reduzierung der Netzwerkbandbreite. Zudem bietet es ein Toolset zur Analyse des Netzwerkverkehrs und zum Benchmarking der Serverleistung, einschließlich Messungen von Durchsatz und Latenz. Die breiteren Funktionen decken die Protokollimplementierung und das Traffic-Management ab, einschließlich ALPN-Verbindungsaushandlung, Anforderungspriorisierung und Validierung von Header-Komponenten. Die Bibliothek unterstützt benutzerdefinierte Protokollerweiterungen über ein Callback-basiertes Ereignissystem und enthält Dienstprogramme für Speicherverwaltung und Fehlercode-Übersetzung. Das Projekt umfasst Build-Unterstützung und Konfigurationsskripte für das Cross-Compiling von Binärdateien für die Android-Plattform.
nghttp2 increments the reference count of a buffer to prevent it from being freed while other components require access.
Velox ist eine leistungsstarke C++-Abfrage-Ausführungs-Engine und eine Bibliothek für spaltenbasierte Datenverarbeitung. Sie dient als kompositionsfähiges Framework zur Implementierung analytischer Query-Engines und bietet einen vektorisierten Ausdrucksauswerter sowie ein Toolkit für Datenmanagementsysteme. Das Projekt zeichnet sich durch die Verwendung vektorisierter spaltenbasierter Ausführung und arena-basierter Speicherallokation zur Verarbeitung großer Datensätze aus. Es bietet spezialisierte Optimierungen wie Broadcast-Join-Table-Caching, Dynamic-Filter-Push-Down und Dictionary-Encoding, um den Speicher-Overhead zu reduzieren und analytische Lesezugriffe zu beschleunigen. Die Engine deckt ein breites Spektrum analytischer Funktionen ab, einschließlich der Implementierung von Hash-, Merge- und Semi-Joins sowie mehrstufiger paralleler Aggregation und der Berechnung von Fensterfunktionen. Sie bietet Primitive für spaltenbasierte In-Memory-Speicherung, Parquet-Datendekodierung und die Integration mit Cloud-Speichern. Erweiterbarkeit wird durch ein Funktionsregistrierungssystem für benutzerdefinierte Skalar- und Aggregatfunktionen geboten, wobei High-Level-Bindings verfügbar sind, um die C++-Logik mit Python zu verbinden.
Uses reference-counted buffers and memory pools to support zero-copy data views across the execution engine.