28 dépôts
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 est un framework basé sur des composants conçu pour le développement et le déploiement de logiciels embarqués et spatiaux. Il fournit une architecture modulaire qui découple la logique logicielle des interfaces de communication, permettant aux développeurs de définir des structures système via un langage de modélisation spécifique au domaine. Cette approche basée sur les modèles permet la génération automatique de code, garantissant la cohérence des topologies système complexes tout en maintenant des contrats d'interface stricts entre les modules logiciels. Le framework se distingue par son système de build intégré et sa suite d'opérations de données au sol. Il automatise l'intégralité du cycle de vie des logiciels embarqués, de la compilation croisée et la gestion des dépendances à la génération d'interfaces de télémétrie et de commande. En fournissant un environnement unifié pour les logiciels de vol embarqués et la surveillance au sol, il facilite l'intégration, les tests et le contrôle des systèmes embarqués distribués sur diverses plateformes matérielles. Au-delà de son architecture centrale, le projet inclut des outils complets pour l'observabilité du système, notamment la visualisation de télémétrie en temps réel, la journalisation d'événements et le traçage de diagnostic. Il prend en charge un large éventail de scénarios de déploiement, des environnements bare-metal aux systèmes d'exploitation temps réel, et fournit des mécanismes pour la gestion de la mémoire, la modélisation de comportement pilotée par les états et l'exécution de tâches asynchrones. Le projet est maintenu sous forme de dépôt C++ avec une documentation étendue et un support du système de build pour le développement multiplateforme.
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 est un outil de benchmarking de performance de stockage et un générateur de charges de travail I/O synthétiques. Il fonctionne comme un profileur de périphériques de stockage et un moteur de rejeu de traces I/O, permettant de mesurer le débit et la latence des périphériques de stockage et des systèmes de fichiers. Le projet se distingue par sa capacité à agir comme un testeur de stress de stockage distribué, gérant plusieurs backends de serveurs distants via un contrôleur unique pour évaluer le stockage réseau. Il inclut également des capacités spécialisées pour l'analyse de déduplication de stockage en générant des tampons de données redondants pour tester l'efficacité des sous-systèmes de déduplication. L'outil couvre un large éventail de capacités, incluant la simulation de charges de travail I/O complexes avec des tailles de blocs et une profondeur I/O contrôlables, l'analyse de l'inactivité CPU et la collecte de statistiques sur les périphériques. Il offre une observabilité via la visualisation des métriques de performance, des histogrammes de latence et un monitoring en régime permanent. Les charges de travail peuvent être déclenchées via des arguments en ligne de commande ou des fichiers de configuration détaillés pour automatiser des scénarios de benchmarking complexes.
Uses shared-memory semaphore locks to coordinate execution and track the state of concurrent child processes.
opencv4nodejs est un ensemble de wrappers JavaScript et un addon natif C++ qui fournit des bindings Node.js pour la bibliothèque OpenCV. Il fonctionne comme une bibliothèque de vision par ordinateur et un framework de traitement d'image, exposant des algorithmes C++ haute performance à un environnement JavaScript. Le projet permet l'exécution d'algorithmes de vision pour détecter des visages, suivre des objets et analyser des données visuelles en utilisant des réseaux de neurones profonds. Il inclut des capacités pour la classification de motifs de données, la reconnaissance de motifs de texte et l'identification de points de repère faciaux et de gestes. Le framework couvre une large surface de capacités incluant le traitement d'image automatisé, la reconnaissance optique de caractères (OCR) et l'analyse vidéo en temps réel. Il fournit des outils pour les opérations arithmétiques matricielles, l'accès aux données de pixels et la gestion des fichiers image et de la capture vidéo en direct. La gestion des ressources est traitée via l'exécution de tâches asynchrones et le suivi de la mémoire externe pour maintenir la réactivité de la boucle d'événements.
Utilizes shared memory buffers to pass large image matrices between JavaScript and C++ without expensive data copying.
monoio est un runtime asynchrone et un exécuteur haute performance pour Rust. Il implémente un modèle de concurrence thread-per-core qui épingle les tâches à des cœurs CPU spécifiques pour éliminer la surcharge de synchronisation et la migration de données. Le runtime exploite l'interface io_uring pour effectuer des appels système non bloquants et réduire la copie de mémoire entre le noyau et l'espace utilisateur. Il utilise un pilote d'E/S haute performance et un wrapping de flux TCP zero-copy pour gérer le transfert de données via des tampons en mémoire partagée. Le projet offre des capacités pour la gestion de l'affinité des cœurs CPU, la programmation système à faible latence et le réseau haute performance. Il inclut un backend de pilote d'E/S enfichable et des configurations pour le verrouillage mémoire afin de maintenir des tampons stables entre l'espace utilisateur et le noyau.
Uses shared-memory buffers to create stable communication channels between user space and kernel mode.
node-opencv is a high-performance C++ native addon and bridge that connects Node.js applications to the OpenCV library. It serves as an image processing toolkit and computer vision library, allowing JavaScript code to execute vision algorithms and image manipulation operations through native bindings. The project provides specialized capabilities for face and shape detection, as well as face identity recognition using trained models. It includes tools for object motion tracking through optical flow and background subtraction, along with the ability to identify specific patterns and analyze sh
Utilizes zero-copy image buffers to share raw pixel data between JavaScript and C++ without expensive copying.
Diffusion Policy est un framework d'apprentissage robotique qui utilise des modèles de diffusion pour mapper des observations visuelles vers des trajectoires d'action précises. Il fonctionne comme une boîte à outils d'apprentissage par imitation et un apprenant de politique visuomotrice, fournissant un système pour entraîner des réseaux de neurones qui répliquent le comportement humain en générant des mouvements robotiques basés sur des données d'image et de capteurs. Le framework emploie un processus de débruitage conditionnel pour échantillonner des séquences de mouvements robotiques, lui permettant de gérer des distributions d'actions multimodales où plusieurs trajectoires valides peuvent exister pour un seul état. Il utilise une modélisation d'action basée sur le score et un générateur d'action robotique pour produire des comportements précis pour des tâches physiques complexes. Le projet couvre un pipeline de données robotiques complet, incluant la collecte de démonstrations menées par des humains et le stockage de trajectoires à grande échelle dans des formats compressés et segmentés. Ses capacités de contrôle incluent le contrôle à horizon glissant via une exécution en fenêtre coulissante et la livraison asynchrone d'actions aux contrôleurs matériels pour maintenir des boucles d'observation à haute fréquence. Le système inclut des outils pour la gestion d'expériences, tels que l'encapsulation d'espace de travail et la sauvegarde de checkpoints de modèles, ainsi que l'évaluation de politiques pour les tests sur matériel physique ou simulé.
Employs shared-memory buffering to capture high-frequency camera data and reduce processing latency.
QtAV est un moteur multimédia multiplateforme et un framework multimédia qui combine le décodage FFmpeg avec le framework Qt pour le rendu audio et vidéo. Il fonctionne comme un lecteur vidéo accéléré par le matériel, un moteur de rendu vidéo OpenGL et un transcodeur de flux multimédia. Le projet se distingue par une couche de décodage avec abstraction matérielle qui utilise des interfaces GPU telles que VA-API et VideoToolbox pour décoder la vidéo haute résolution. Il emploie un chemin de transfert mémoire « zero-copy » pour déplacer les données vidéo décodées directement vers les API graphiques, réduisant la charge CPU et permettant un rendu YUV haute performance. Le moteur couvre un large éventail de capacités, incluant le contrôle de la lecture multimédia, la synchronisation des flux et l'extraction de métadonnées. Il fournit des outils pour le traitement vidéo via des shaders et filtres personnalisés, ainsi que le transcodage média et la capture d'images. Le support du rendu s'étend au contenu HDR, aux sous-titres haute fidélité et à l'affichage des pochettes d'album. Le framework s'intègre directement à la boucle d'événements et au système de signaux de Qt pour lier les contrôles de lecture et les surfaces de sortie vidéo à l'interface utilisateur.
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.