15 dépôts
Systems for scheduling and executing non-blocking tasks within a specific execution context or event loop.
Distinct from Task Execution: The candidates focus on high-level automation, script execution, or AI workflows, whereas this is a low-level systems programming capability for event-loop task dispatching.
Explore 15 awesome GitHub repositories matching operating systems & systems programming · Asynchronous Task Execution. Refine with filters or upvote what's useful.
gnet is a high-performance event-driven networking framework for Go, designed for building scalable TCP, UDP, and Unix socket servers. It functions as a non-blocking socket manager and multi-reactor network engine that handles thousands of simultaneous connections with low memory overhead. The framework distinguishes itself by using a multi-reactor architecture that distributes I/O across multiple event loops pinned to operating system threads to minimize context switching. It employs edge-triggered polling to reduce system call frequency and utilizes elastic ring-buffers to minimize allocati
Schedules and executes non-blocking tasks within the event loop using a priority-based poller.
pysheeet est une bibliothèque de référence technique fournissant une collection organisée d'extraits de code et de modèles d'implémentation pour le développement Python avancé, l'intégration système et le calcul haute performance. Il sert de guide complet pour implémenter la programmation réseau de bas niveau, les extensions C natives, et la programmation asynchrone et concurrente. Le projet fournit des frameworks spécialisés pour le développement et le déploiement de grands modèles de langage, y compris des outils pour l'inférence GPU distribuée et le service haute performance. Il inclut également des modèles détaillés pour l'orchestration de clusters de calcul haute performance, couvrant l'allocation des ressources GPU et la gestion des charges de travail multi-nœuds. La bibliothèque couvre une large surface de capacités, y compris la communication réseau sécurisée et la cryptographie, l'ORM et la gestion de base de données, et l'implémentation de structures de données et d'algorithmes complexes. Elle fournit également des utilitaires pour la gestion de la mémoire, l'interopérabilité native via des interfaces de fonctions étrangères (FFI) et l'intégration au niveau du système d'exploitation.
Implements systems for scheduling and executing non-blocking tasks within Python event loops.
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.
Executes asynchronous operations on dedicated threads to prevent the main execution path from blocking.
Flashlight est une bibliothèque de machine learning en C++ et un framework de deep learning conçu pour construire et entraîner des réseaux de neurones. Il fonctionne comme une bibliothèque de manipulation de tenseurs et un moteur de différenciation automatique qui suit les opérations pour calculer les gradients via la rétropropagation pour l'optimisation des modèles. Le projet se distingue par son rôle de framework d'entraînement distribué, utilisant la synchronisation de gradient all-reduce et des environnements distribués pour mettre à l'échelle les charges de travail de machine learning sur plusieurs nœuds et appareils. Il dispose d'une interface mémoire agnostique au backend et d'une gestion basée sur RAII pour découpler les opérations sur tenseurs du matériel physique. Le framework couvre une large surface de capacités, incluant la construction d'architectures de réseaux de neurones avec des couches convolutionnelles, linéaires et récurrentes. Il fournit des utilitaires étendus pour l'algèbre tensorielle, la gestion et le batching de jeux de données, la sérialisation binaire versionnée pour les états de modèle, et des outils de surveillance pour suivre les métriques d'entraînement et l'utilisation de la mémoire.
Distributes computational work across multiple CPU cores using a thread pool for simultaneous operation processing.
Reactor Core est une boîte à outils de programmation réactive et une fondation non bloquante pour composer des pipelines de données asynchrones sur la JVM. Il sert de framework de traitement de flux asynchrone et de système de gestion de contre-pression (backpressure), permettant aux développeurs de transformer, filtrer et combiner des séquences d'événements tout en régulant le flux de données entre les producteurs et les consommateurs pour éviter l'épuisement des ressources. La bibliothèque se différencie par un système sophistiqué de planification de la concurrence et un contrôle de flux basé sur la demande. Elle découple le traitement des signaux de threads spécifiques en utilisant un registre de planificateur et fournit des mécanismes pour la propagation de métadonnées immuables sensibles au contexte à travers les frontières asynchrones. Elle dispose également d'outils spécialisés pour la capture de traces au moment de l'assemblage et la planification en temps virtuel pour faciliter le test des opérateurs basés sur le temps. Le projet couvre un large éventail de capacités, incluant le traitement fonctionnel de données pour l'agrégation et le fenêtrage de séquences, une variété de stratégies de récupération d'erreurs comme les tentatives avec backoff exponentiel, et des utilitaires pour faire le pont entre les API de rappel (callback) héritées ou synchrones et les flux réactifs. Elle fournit en outre une instrumentation pour la surveillance des pipelines et une suite d'outils de test pour vérifier les séquences de signaux.
Executes asynchronous tasks using a specialized work-stealing scheduler for high-performance task dispatching.
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.
Offloads heavy computer vision computations to background threads to prevent blocking the Node.js event loop.
CliWrap est une bibliothèque de gestion de processus asynchrones et un wrapper de processus enfants, utilisée pour exécuter des commandes externes et intégrer des interfaces en ligne de commande dans des applications. Elle fournit un framework pour lancer des programmes externes via des patterns asynchrones, gérer les processus enfants et valider les codes de sortie. La bibliothèque se distingue par sa capacité à router les flux d'entrée, de sortie et d'erreur standard vers des buffers en mémoire ou des flux d'événements en temps réel. Elle permet le monitoring en temps réel des lignes de sortie des processus et prend en charge la terminaison des processus via des jetons d'annulation (cancellation tokens). Le projet couvre un large éventail de capacités de gestion de processus externes, incluant la configuration des variables d'environnement, la redirection des flux standard et la capture de la sortie des processus pour une utilisation en tant que données au sein d'une application.
Executes non-blocking system tasks within an asynchronous event loop context.
Amp is a non-blocking concurrency framework for PHP. It provides a core infrastructure for writing asynchronous applications using an event loop to schedule operations, timers, and signals within a single process. The project implements a coroutine library that utilizes fibers to suspend and resume function execution. This allows the system to handle concurrent tasks without blocking the main execution thread, optimizing CPU usage during input and output operations. It further manages pending operation results through a future and promise implementation. The framework covers a broad range of
Executes functions as interruptible units of work to allow other operations to run during waits.
Failsafe est une bibliothèque de tolérance aux pannes et un framework de modèles de résilience pour la JVM. Elle fournit une boîte à outils pour implémenter des disjoncteurs (circuit breakers), des limiteurs de débit (rate limiters) et d'autres modèles de stabilité au sein des applications Java pour prévenir les défaillances en cascade dans les systèmes distribués. Le projet se distingue par son pipeline d'exécution basé sur des politiques, permettant de composer plusieurs modèles de résilience en un flux séquentiel. Il propose un disjoncteur à machine d'état pour gérer le rétablissement des services et un limiteur de débit à seau percé (leaky-bucket) pour contrôler la fréquence des opérations. La bibliothèque couvre un large éventail de fonctionnalités, notamment l'isolation des ressources via des bulkheads, une logique de nouvelle tentative automatisée avec provisionnement de repli, et des timeouts d'exécution. Elle fournit également des mécanismes pour l'exécution de tâches asynchrones et la gestion de pipelines non bloquants via des completion stages. La surveillance et l'observabilité sont intégrées via des écouteurs d'événements et des exports de métriques qui suivent les transitions d'état des circuits et les jalons d'exécution.
Executes tasks in the background using resilience policies to prevent the main execution thread from blocking.
Ce projet est une chronique historique traduite et une référence de langage de programmation documentant l'évolution technique et la standardisation de JavaScript sur deux décennies. Il sert d'archive d'ingénierie logicielle qui suit les brouillons de versions et l'influence de divers organismes de normalisation sur le développement du langage. Le dépôt fournit une traduction chinoise d'une histoire complète, analysant les jalons sociopolitiques et techniques de l'écosystème. Il cartographie les jalons du langage et chronique le développement des spécifications officielles pour fournir un contexte historique sur la façon dont le langage a évolué. La documentation couvre les concepts fondamentaux du langage, incluant le flux asynchrone, les modèles d'objets et la gestion de la mémoire. Elle inclut également un catalogue de contributeurs de l'industrie et un glossaire de terminologie technique et de patterns architecturaux.
Explains the mechanism of asynchronous task execution via the JavaScript event loop.
Ce projet est une ressource éducative fournissant un tutoriel de développement complet pour écrire et charger des programmes eBPF en utilisant C, Go et Rust au sein du noyau Linux. Il sert de guide technique pour développer une logique personnalisée à exécuter directement dans le noyau. Les matériaux couvrent des domaines spécialisés, notamment l'observabilité et le traçage du noyau, l'implémentation de la sécurité pour la détection d'intrusion et l'ingénierie réseau haute performance pour le filtrage de paquets et l'équilibrage de charge. Il inclut également des manuels dédiés pour le traçage du noyau Linux et l'utilisation de kprobes, uprobes et tracepoints. Le projet englobe un large éventail de domaines de capacités, tels que l'instrumentation du noyau, la surveillance et l'observabilité du système, l'analyse réseau et l'application de la sécurité. Il s'étend en outre au débogage au niveau matériel pour les GPU et les pilotes, ainsi qu'à la manipulation système de bas niveau et à la gestion des ressources.
Executes background work and memory allocations using workqueues to prevent blocking the main execution path.
async-std is a Rust asynchronous runtime and non-blocking I/O library. It serves as an asynchronous standard library, providing a set of alternatives to the core Rust library for managing concurrent tasks, networking, and file system access. The project implements a standard-library-mirrored API, offering asynchronous versions of existing synchronous types to maintain a familiar interface. This approach allows for asynchronous Rust development using an interface that reflects the ergonomics of the language's standard library. The runtime includes a task executor for scheduling and executing
Enables the execution of non-blocking system tasks like networking and file access.
Ce projet est un framework complet pour le développement d'applications iOS, centré sur la construction d'applications mobiles qui présentent des composants d'interface utilisateur personnalisés, une gestion de tâches asynchrone et une persistance de données locale. Il sert de base de connaissances technique pour l'ingénierie logicielle, fournissant des outils pour organiser et publier des analyses architecturales et des notes au format Markdown. Le framework se distingue par une couche de stockage robuste basée sur des documents qui utilise des enregistrements au format BSON pour effectuer des opérations CRUD au sein d'un magasin de documents NoSQL. Il fournit des capacités d'intégration système étendues, incluant une communication spécialisée par extension d'application, le passage de messages entre bacs à sable et la présentation native de feuilles de partage, permettant une interaction transparente entre l'application hôte et les services au niveau du système. Le projet couvre une large surface de capacités, incluant une gestion avancée de la concurrence avec synchronisation thread-safe, le déchargement du rendu UI en arrière-plan pour maintenir la réactivité et une prise en charge complète de l'internationalisation. Il inclut également des utilitaires axés sur les développeurs pour la génération de types statiques, le mapping automatique de ressources et la construction de prototypes interactifs, aux côtés d'outils spécialisés pour la surveillance de balises géographiques et la génération de graphiques adaptatifs.
Submits tasks to queues and returns control to the calling thread immediately to maintain responsiveness.
This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance native addons for Node.js. It acts as a bridge between C++ and JavaScript, offering an object-oriented interface that simplifies the creation of compiled extensions while managing the complexities of the language boundary. The library distinguishes itself by providing type-safe abstractions for data marshalling and memory management, ensuring that native and script-side objects are tracked and reclaimed correctly. It includes mechanisms for coordinating asynchronous tasks bet
Offloads computationally expensive operations to background threads and returns results to the main event loop.
This repository provides a comprehensive collection of functional code samples designed to demonstrate modern development patterns and architectural practices for the Android platform using Kotlin. It serves as a practical guide for implementing standard design patterns that decouple business logic from user interface components, ensuring that applications remain maintainable and testable. The project distinguishes itself by offering isolated, hands-on implementations of complex mobile programming tasks. It covers a wide range of capabilities, including asynchronous networking, local database
Performs multiple background operations simultaneously and manages execution flow.