28 repositorios
Mechanisms for passing data between processes using shared memory to reduce latency.
Distinguishing note: Focuses on memory-efficient frame passing between threads.
Explore 28 awesome GitHub repositories matching data & databases · Shared Memory Buffers. Refine with filters or upvote what's useful.
QtScrcpy is a cross-platform desktop application designed for mirroring and controlling Android devices. It functions as a high-performance client that captures mobile display output and streams it to a computer monitor, enabling real-time interaction through a persistent connection. The application distinguishes itself by supporting the simultaneous management of multiple mobile devices from a single interface, allowing for batch operations and synchronized inputs. Users can map standard desktop mouse and keyboard actions to mobile touch events using custom scripts, facilitating efficient na
Passes decoded video frames between threads using efficient memory pointers to avoid copying.
PostgreSQL is an object-relational database management system designed for the persistent storage and retrieval of structured information. It functions as an ACID-compliant database server, utilizing standard query language protocols to maintain data consistency and reliability across large-scale application datasets. The system distinguishes itself through an extensible architecture that allows for the definition of custom data types, operators, and indexing methods. It employs multi-version concurrency control to enable simultaneous read and write operations without blocking, supported by a
Provides a global memory area for frequently accessed data pages to minimize disk I/O.
Tracy is a real-time performance profiling framework for C and C++ applications. It provides a software instrumentation library that captures high-resolution telemetry data, which is then visualized through a separate graphical interface to identify bottlenecks and resource allocation issues. The system utilizes a client-server architecture that enables remote profiling, allowing performance data to be captured on a target machine and analyzed on a workstation. It employs lock-free event logging and shared-memory ring buffers to minimize the overhead of data collection, ensuring that the main
Employs circular buffers in shared memory to store telemetry events with minimal overhead.
This project provides a full Python interpreter compiled to WebAssembly, enabling the execution of Python code and scientific libraries directly within web browsers and server-side environments. By bridging the gap between language runtimes, it allows developers to run computational tasks, manage packages, and perform data analysis in client-side environments without requiring a backend server. The platform distinguishes itself through a comprehensive foreign function interface that enables bidirectional data exchange, object proxying, and function calling between Python and JavaScript. It in
Enables high-performance data processing by transferring raw memory buffers and typed arrays between language runtimes.
MNN is a high-performance inference engine and framework designed for on-device machine learning. It provides a comprehensive environment for executing, optimizing, and deploying neural network models directly on mobile and resource-constrained edge devices. The framework distinguishes itself through a robust model optimization toolkit that supports quantization, compression, and structural graph manipulation to minimize memory footprint and maximize execution speed. It features a modular architecture that abstracts hardware-specific backends, allowing models to run efficiently across diverse
Minimizes resource overhead by sharing thread pools and memory buffers across multiple concurrent model execution sessions.
F Prime es un framework basado en componentes diseñado para el desarrollo y despliegue de software embebido y de vuelo espacial. Proporciona una arquitectura modular que desacopla la lógica del software de las interfaces de comunicación, permitiendo a los desarrolladores definir estructuras de sistema mediante un lenguaje de modelado específico del dominio. Este enfoque basado en modelos permite la generación automática de código, asegurando la consistencia en topologías de sistemas complejos mientras mantiene estrictos contratos de interfaz entre los módulos de software. El framework se distingue por su sistema de compilación integrado y su suite de operaciones de datos en tierra. Automatiza todo el ciclo de vida del software embebido, desde la compilación cruzada y la gestión de dependencias hasta la generación de interfaces de telemetría y comandos. Al proporcionar un entorno unificado tanto para el software de vuelo a bordo como para la monitorización en tierra, facilita la integración, las pruebas y el mando y control de sistemas embebidos distribuidos en diversas plataformas de hardware. Más allá de su arquitectura central, el proyecto incluye herramientas integrales para la observabilidad del sistema, incluyendo visualización de telemetría en tiempo real, registro de eventos y trazado de diagnóstico. Soporta una amplia gama de escenarios de despliegue, desde entornos bare-metal hasta sistemas operativos en tiempo real, y proporciona mecanismos para la gestión de memoria, modelado de comportamiento basado en estados y ejecución de tareas asíncronas. El proyecto se mantiene como un repositorio en C++ con documentación extensa y soporte de sistema de compilación para el desarrollo multiplataforma.
Provides port-based memory allocation for data containers to support component-level data production.
The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act
Shares raw memory regions between managed and native layers to eliminate expensive data copying.
RealtimeSTT is a local speech-to-text engine and real-time automatic speech recognition server. It utilizes transformer-based recognition and omnilingual pipelines to convert live audio streams into text, providing a WebSocket-based streaming API for raw PCM audio transmission. The project is distinguished by a dual-backend transcription pipeline that uses a lightweight engine for immediate partial suggestions and a heavier model for final high-accuracy results. It includes a wake word detection system to trigger recording and employs a shared-resource inference model to distribute heavy spee
Loads heavy speech models into memory once and shares them across multiple concurrent user sessions to minimize overhead.
Napajs is an embeddable JavaScript engine and multi-threaded runtime designed to be integrated directly into other software applications as a component. It serves as a parallel computation framework that allows JavaScript code to execute across multiple threads, bypassing the standard single-threaded event loop limitation to handle CPU-intensive tasks. The runtime is distinguished by its ability to load and execute modules from the NPM ecosystem and its pluggable execution environment. This architecture allows for custom implementations of memory allocation, system logging, and performance me
Transports typed arrays via shared memory buffers to allow multiple threads to modify data without copying.
Torch7 is a scientific computing environment and tensor computation library used for deep learning research and numerical analysis. It functions as a Lua-based framework for training neural networks and learning agents, providing a toolkit for implementing architectures and training through reinforcement learning algorithms. The project is distinguished by its tight integration with C, utilizing a binding layer to map high-level scripting to low-level C structures for direct memory access. It supports hardware-accelerated computation by offloading linear algebra and convolution operations to
Creates new tensors that reference existing memory buffers to allow shared modifications without duplication.
wasm-bindgen is a glue code generator and interoperability tool that facilitates high-level communication and data exchange between compiled Rust modules and JavaScript environments. It functions as a memory bridge and type definition generator, allowing the exchange of complex data types and the calling of functions across execution boundaries. The project distinguishes itself by automating the conversion of data types and function signatures using attribute-based bindings. It generates the necessary JavaScript and WebAssembly wrappers to manage linear memory mapping and creates automatic Ty
Provides shared memory buffers and atomic operations to coordinate execution across multiple web worker threads.
Neon is a framework for writing high-performance native Node.js modules using the Rust programming language. It serves as a foreign function interface bridge and a toolchain for bootstrapping, compiling, and managing Rust-based extensions. The project provides a cross-language memory manager that handles buffers and object borrowing to ensure safe memory access between Rust and JavaScript. It enables the mapping of data types and function calls across the language boundary, allowing Rust functions to be exported to the script environment and JavaScript functions to be called from Rust. The f
Provides shared memory buffers to allow zero-copy data exchange between Rust and JavaScript.
ANE is an open-source framework for training neural networks directly on Apple's Neural Engine hardware, bypassing Apple's public Core ML toolchain through reverse-engineered private APIs. It provides low-level control over the ANE, enabling developers to compile custom compute graphs into binary kernels, partition transformer model layers into hardware-compatible subgraphs, and share GPU-allocated memory with the Neural Engine via zero-copy IOSurface buffers. The framework distinguishes itself by offering direct access to hardware performance counters and power telemetry for benchmarking thr
Shares GPU-allocated buffers directly with the Neural Engine via IOSurface to eliminate data copying.
fio es una herramienta de benchmarking de rendimiento de almacenamiento y generador de cargas de trabajo de E/S sintéticas. Funciona como un perfilador de dispositivos de almacenamiento y motor de reproducción de trazas de E/S, permitiendo la medición del throughput y la latencia para dispositivos de almacenamiento y sistemas de archivos. El proyecto se distingue por su capacidad para actuar como un estresador de almacenamiento distribuido, gestionando múltiples backends de servidores remotos a través de un único controlador para evaluar el almacenamiento en red. También incluye capacidades especializadas para el análisis de deduplicación de almacenamiento mediante la generación de buffers de datos redundantes para probar la eficiencia de los subsistemas de deduplicación. La herramienta cubre un amplio rango de capacidades, incluyendo la simulación de cargas de trabajo de E/S complejas con tamaños de bloque y profundidad de E/S controlables, el análisis de inactividad de CPU y la recolección de estadísticas de dispositivos. Proporciona observabilidad mediante visualización de métricas de rendimiento, histogramas de latencia y monitoreo de estado estable. Las cargas de trabajo pueden dispararse mediante argumentos de línea de comandos o archivos de configuración detallados para automatizar escenarios de benchmarking complejos.
Uses shared-memory semaphore locks to coordinate execution and track the state of concurrent child processes.
opencv4nodejs es un conjunto de wrappers de JavaScript y un addon nativo de C++ que proporciona bindings de Node.js para la biblioteca OpenCV. Funciona como una biblioteca de visión artificial y framework de procesamiento de imágenes, exponiendo algoritmos de C++ de alto rendimiento a un entorno JavaScript. El proyecto permite la ejecución de algoritmos de visión para detectar rostros, rastrear objetos y analizar datos visuales utilizando redes neuronales profundas. Incluye capacidades para clasificación de patrones de datos, reconocimiento de patrones de texto e identificación de puntos de referencia faciales y gestos. El framework cubre una amplia superficie de capacidades, incluyendo procesamiento de imágenes automatizado, reconocimiento óptico de caracteres (OCR) y análisis de vídeo en tiempo real. Proporciona herramientas para operaciones aritméticas de matrices, acceso a datos de píxeles y gestión de archivos de imagen y captura de vídeo en vivo. La gestión de recursos se maneja mediante la ejecución de tareas asíncronas y el seguimiento de memoria externa para mantener la capacidad de respuesta del bucle de eventos.
Utilizes shared memory buffers to pass large image matrices between JavaScript and C++ without expensive data copying.
monoio es un runtime asíncrono y ejecutor de alto rendimiento para Rust. Implementa un modelo de concurrencia thread-per-core que fija las tareas a núcleos de CPU específicos para eliminar la sobrecarga de sincronización y la migración de datos. El runtime aprovecha la interfaz io_uring para realizar llamadas al sistema no bloqueantes y reducir la copia de memoria entre el modo kernel y el modo usuario. Utiliza un controlador de E/S de alto rendimiento y envoltorios TCP zero-copy para gestionar la transferencia de datos a través de buffers de memoria compartida. El proyecto proporciona capacidades para la gestión de afinidad de núcleos de CPU, programación de sistemas de baja latencia y redes de alto rendimiento. Incluye un backend de controlador de E/S conectable y configuraciones para el bloqueo de memoria con el fin de mantener buffers estables entre el espacio de usuario y el kernel.
Uses shared-memory buffers to create stable communication channels between user space and kernel mode.
node-opencv es un addon nativo de C++ de alto rendimiento y puente que conecta aplicaciones Node.js a la librería OpenCV. Sirve como un kit de herramientas de procesamiento de imágenes y librería de visión por computadora, permitiendo que el código JavaScript ejecute algoritmos de visión y operaciones de manipulación de imágenes a través de bindings nativos. El proyecto proporciona capacidades especializadas para la detección de rostros y formas, así como reconocimiento de identidad facial utilizando modelos entrenados. Incluye herramientas para el seguimiento de movimiento de objetos a través de flujo óptico y sustracción de fondo, junto con la capacidad de identificar patrones específicos y analizar contornos de formas. El kit de herramientas cubre una amplia gama de funciones de procesamiento de imágenes, incluyendo análisis de histograma de color, transformaciones de geometría y extracción de características a través de detección de bordes. También soporta el manejo de medios a través de carga de archivos de imagen, captura de flujo de cámara en vivo y el renderizado de primitivas geométricas directamente sobre buffers de imagen.
Utilizes zero-copy image buffers to share raw pixel data between JavaScript and C++ without expensive copying.
Diffusion Policy is a robot learning framework that uses diffusion models to map visual observations to precise action trajectories. It functions as an imitation learning toolkit and visuomotor policy learner, providing a system to train neural networks that replicate human behavior by generating robotic movements based on image and sensor data. The framework employs a conditional denoising process to sample sequences of robotic movements, allowing it to handle multimodal action distributions where multiple valid trajectories may exist for a single state. It utilizes score-based action modeli
Employs shared-memory buffering to capture high-frequency camera data and reduce processing latency.
QtAV es un motor multimedia y framework multiplataforma que combina la decodificación de FFmpeg con el framework Qt para la renderización de audio y video. Funciona como un reproductor de video acelerado por hardware, un renderizador de video OpenGL y un transcodificador de flujos multimedia. El proyecto se distingue por una capa de decodificación de abstracción de hardware que utiliza interfaces de GPU como VA-API y VideoToolbox para decodificar video de alta resolución. Emplea una ruta de transferencia de memoria de copia cero para mover datos de video decodificados directamente a las APIs gráficas, reduciendo la carga de la CPU y permitiendo una renderización YUV de alto rendimiento. El motor cubre una amplia gama de capacidades, incluyendo control de reproducción multimedia, sincronización de flujos y extracción de metadatos. Proporciona herramientas para el procesamiento de video mediante shaders y filtros personalizados, así como transcodificación de medios y captura de fotogramas. El soporte de renderizado se extiende a contenido de alto rango dinámico (HDR), subtítulos de alta fidelidad y la visualización de carátulas de álbumes. El framework se integra directamente con el bucle de eventos y el sistema de señales de Qt para vincular los controles de reproducción y las superficies de salida de video a la interfaz de usuario.
Implements a zero-copy path to transfer decoded video data directly to GPU buffers, reducing CPU overhead.
This project is an X11 window system server that coordinates graphical output and input devices. It functions as a display server, a hardware driver manager for graphics and input modules, and a graphics server capable of rendering directly to a generic framebuffer. The server provides multi-seat display management to isolate input and display devices for different concurrent users. It also implements namespace isolation to separate clients and restrict resource access, preventing interference between different user sessions or processes. The system manages GPU driver integration through dyn
Transfers pixel data between clients and server using shared memory buffers for efficient graphical updates.