2 repositorios
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 es un conjunto de librerías C de bajo nivel y herramientas diseñadas para implementar el protocolo HTTP/2. Proporciona una implementación eficiente en memoria de la lógica central del protocolo, incluyendo el framing, la multiplexación de flujos y el control de flujo. El proyecto incluye una librería dedicada para la compresión y descompresión de cabeceras HPACK para reducir el ancho de banda de red. También proporciona un conjunto de herramientas para analizar el tráfico de red y realizar benchmarks del rendimiento del servidor, incluyendo mediciones de throughput y latencia. Sus capacidades más amplias cubren la implementación de protocolos y la gestión de tráfico, incluyendo la negociación de conexión ALPN, la priorización de peticiones y la validación de componentes de cabecera. La librería admite extensiones de protocolo personalizadas a través de un sistema de eventos basado en callbacks e incluye utilidades para la gestión de memoria y la traducción de códigos de error. El proyecto incluye soporte de compilación y scripts de configuración para realizar compilación cruzada de binarios para la plataforma Android.
nghttp2 increments the reference count of a buffer to prevent it from being freed while other components require access.
Velox es un motor de ejecución de consultas en C++ de alto rendimiento y biblioteca de procesamiento de datos columnares. Sirve como un framework componible para implementar motores de consulta analíticos, proporcionando un evaluador de expresiones vectorizadas y un toolkit para sistemas de gestión de datos. El proyecto se distingue por su uso de ejecución columnar vectorizada y asignación de memoria basada en arena para procesar conjuntos de datos a gran escala. Cuenta con optimizaciones especializadas como caché de tablas de broadcast join, push-down de filtros dinámicos y codificación de diccionario para reducir la sobrecarga de memoria y acelerar las lecturas analíticas. El motor cubre una amplia gama de capacidades analíticas, incluyendo la implementación de hash, merge y semi joins, así como agregación paralela multietapa y cálculo de funciones de ventana. Proporciona primitivas para almacenamiento columnar en memoria, decodificación de datos Parquet e integración con almacenamiento en la nube. La extensibilidad se proporciona a través de un sistema de registro de funciones para funciones escalares y agregadas personalizadas, con bindings de alto nivel disponibles para conectar la lógica de C++ a Python.
Uses reference-counted buffers and memory pools to support zero-copy data views across the execution engine.