11 dépôts
Execution of high-volume data tasks using concurrent threads to increase throughput.
Distinct from High-Performance Collection Processing: Closest candidates focus on packet processing or database queries; this is a general architectural pattern for high-volume data collection.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Multi-Threaded Batch Processing. Refine with filters or upvote what's useful.
Pentaho Kettle est une plateforme d'intégration de données ETL d'entreprise conçue pour extraire, transformer et charger des données entre des sources disparates et des bases de données cibles. Il fonctionne comme un orchestrateur piloté par les métadonnées qui utilise un concepteur de flux de travail visuel pour créer et gérer des séquences complexes de tâches de données et de pipelines de transformation. Le système se distingue par son moteur de traitement de données distribué, qui exécute les charges de travail sur des clusters de nœuds de serveur pour augmenter le débit. Il emploie une architecture basée sur des plugins, permettant à la plateforme d'être étendue via des fichiers JAR externes pour fournir une connectivité à diverses bases de données et services cloud. La plateforme couvre un large éventail de capacités d'intégration de données, notamment le chargement en masse, la gestion de fichiers à distance et la transformation de structures de données. Elle fournit des outils pour la validation de la qualité des données, l'automatisation des pipelines et la gestion du cycle de vie des tâches, ainsi que des utilitaires de surveillance pour suivre la santé du serveur et l'état d'exécution en temps réel.
Implements high-volume data processing by executing discrete pipeline steps in separate concurrent threads to maximize throughput.
ClamAV est un moteur antivirus open source et un scanner de détection de logiciels malveillants. Il identifie les chevaux de Troie, les virus et autres logiciels malveillants en scannant les fichiers et les flux de données par rapport à une base de données de signatures connues. Le système fonctionne comme un détecteur de menaces basé sur les signatures, permettant l'implémentation de l'intelligence des menaces en transformant les échantillons de logiciels malveillants en signatures exploitables. Il prend en charge la création de signatures de logiciels malveillants personnalisées pour identifier des menaces de sécurité spécifiques ou spécialisées. Le moteur fournit des capacités pour la surveillance de la sécurité des terminaux et une analyse complète de détection des logiciels malveillants sur les systèmes informatiques.
Parallelizes the scanning of files and data streams across multiple CPU cores to increase throughput.
This project is a proxy aggregation platform designed to collect and verify free proxy server lists from web platforms, social media, and public repositories. It functions as a crawler framework that gathers proxy data and subscription links, a validation tool for testing server liveness, and a synchronization service for distributing the results. The system uses a plugin-based architecture that allows for the integration of custom Python scripts to handle diverse web source structures. It also includes utilities to transform raw proxy data into standardized configuration formats compatible w
Utilizes multi-threaded execution to increase the throughput of high-volume proxy data collection and connectivity probes.
Cppcheck est un outil d'analyse statique et un linter pour le code source C et C++ conçu pour détecter les erreurs de programmation, les fuites de mémoire et les violations de sécurité sans exécuter le programme. Il fonctionne comme un moteur de détection de bugs et un outil d'assurance qualité pour identifier les problèmes de concurrence, les erreurs de transtypage et la conformité aux standards de codage sécurisé. Le projet fournit une interface utilisateur graphique pour sélectionner les fichiers et examiner les erreurs, ainsi qu'un linter pour faire respecter les conventions de nommage et les standards de codage. Il supporte la création de règles d'analyse personnalisées utilisant des expressions régulières pour identifier des patterns de codage spécifiques. L'outil inclut des capacités pour l'analyse incrémentale, la suppression d'avertissements et l'exclusion de fichiers pour gérer les grandes bases de code. Il propose également la génération de rapports HTML et l'intégration avec des éditeurs comme VS Code pour fournir une identification des erreurs pendant le développement.
Distributes independent analysis tasks across multiple CPU cores to increase processing throughput.
Caesium is an image compression tool that reduces file sizes for JPG, PNG, WebP, and TIFF images while preserving visual quality and metadata. It operates as a cross-platform desktop application with a graphical interface, a command-line tool for scripting and automation, and a web-based interface for browser uploads, all supporting batch processing of multiple images at once. The tool distinguishes itself by offering multiple interaction modes — desktop, terminal, and web — each capable of handling the same core compression tasks. It preserves folder structure when saving compressed images,
Distributes compression tasks across multiple CPU threads to process several images simultaneously without blocking the user interface.
Grobid est un système de machine learning conçu pour transformer les publications académiques et scientifiques PDF en XML structuré. Il fonctionne comme un analyseur PDF vers XML et un extracteur de métadonnées savantes, identifiant et normalisant les titres, auteurs, affiliations et références bibliographiques des articles de recherche. Le système utilise un segmenteur de documents par deep learning pour diviser les PDF bruts en régions fonctionnelles et emploie un résolveur de références bibliographiques pour faire correspondre les citations avec des registres externes pour l'enrichissement des métadonnées et la résolution de DOI. Il prend en charge un pipeline complet d'entraînement de modèles de machine learning, permettant la génération de corpus d'entraînement annotés, le réentraînement de modèles et l'exportation de binaires de modèles. Le projet couvre un large éventail de capacités d'extraction, y compris l'analyse des en-têtes de documents, la structuration du corps du texte intégral et l'identification d'entités spécifiques au domaine comme les informations de financement et les citations de brevets. Il fournit également des outils d'analyse spatiale pour l'extraction de boîtes englobantes et le mappage de coordonnées afin de synchroniser les étiquettes sémantiques avec la mise en page PDF originale. L'application peut être déployée via des images conteneurisées et inclut des utilitaires en ligne de commande pour le traitement par lots multi-threadé de grandes collections de documents.
Implements multi-threaded batch processing to maximize hardware throughput when parsing large document collections.
Crawler4j est un crawler web Java multi-threadé conçu pour le parcours web à haut volume et l'extraction de contenu. Il fonctionne comme un framework de crawling poli qui permet la découverte et l'indexation de contenu HTML et binaire sur plusieurs sites web. Le projet se distingue par un modèle de crawling persistant qui sérialise l'état de la session vers un stockage local, permettant au moteur de reprendre l'indexation après un crash ou une interruption. Il inclut un contrôleur de politesse pour réguler la fréquence des requêtes et les délais, évitant ainsi la surcharge des serveurs et le blocage IP. Le système couvre un large éventail de capacités de parcours, incluant la gestion de la portée limitée par la profondeur, le filtrage des cibles et l'interception de requêtes pour des user-agents personnalisés et le routage par proxy. Le stockage des données est géré via un pattern repository qui découple la logique de crawling de la persistance des métadonnées de page dans des bases de données relationnelles.
Ships a multi-threaded engine for high-throughput web traversal and content extraction.
SDRangel is a comprehensive software-defined radio suite and digital signal processing framework. It functions as an RF spectrum analyzer and modular radio demodulator, providing a unified hardware abstraction layer to connect various radio devices to software processing pipelines for data acquisition and transmission. The platform is distinguished by its modular architecture, which uses a data-flow graph of dynamic libraries to construct signal processing chains. This allows for a plugin-based environment where users can extract audio and digital data from raw radio signals using various mod
Implements a multi-threaded sample pipeline with shared memory buffers to minimize signal latency.
VidGear is a high-performance Python video processing framework designed for capturing, transcoding, and manipulating video streams. It functions as a multi-protocol video streamer and a WebRTC streaming server, enabling the transfer of video frames over networks using RTSP, RTMP, RTP, and MJPEG protocols. The project distinguishes itself through hardware-accelerated video transcoding and decoding using GPU backends like CUDA to reduce CPU load. It includes a cross-platform screen capture tool and a specialized system for establishing direct peer-to-peer media connections using WebRTC signali
Reads frames from IP cameras, network streams, and hardware decoders using multi-threaded processing.
Cette bibliothèque est un outil basé sur Java pour appliquer des contraintes de structure de données et vérifier les formats techniques par rapport aux spécifications de schéma définies. Elle fonctionne comme un utilitaire de traitement qui analyse des structures de données complexes tout en gérant les références de schéma externes et les dépendances circulaires. Le moteur se distingue par une conception de processeur immuable qui permet une validation concurrente et thread-safe sans nécessiter de synchronisation externe. Il utilise l'arithmétique à précision arbitraire pour évaluer les contraintes numériques, empêchant les erreurs d'arrondi courantes en virgule flottante, et utilise un traitement au niveau des caractères pour garantir une validation de chaîne sensible à Unicode pour les symboles complexes. Les développeurs peuvent étendre le pipeline de base en enregistrant des mots-clés personnalisés et des gestionnaires de format pour implémenter une logique métier spécialisée. Le projet fournit une gestion complète des schémas, y compris la vérification de la conformité structurelle par rapport aux méta-schémas, la résolution de dépendances basée sur URI et le chargement de schéma configurable. Il prend en charge des rapports d'erreur détaillés qui poursuivent la validation sur les éléments enfants même après des échecs parents, et inclut une interface en ligne de commande pour la vérification des données basée sur le terminal.
Executes thread-safe validation tasks concurrently to maintain high performance during heavy data processing.
This project is a procedural content generation framework and three-dimensional mesh generation library designed for the Unity game engine. It provides a system for automating the creation of complex landscapes and natural environments by programmatically constructing geometric terrain surfaces and heightmaps. The generator utilizes layered noise functions to calculate elevation values, which are then translated into terrain geometry. To maintain performance during real-time rendering, the system employs chunk-based mesh generation and dynamic level-of-detail management, which adjusts geometr
Offloads heavy mathematical calculations and mesh construction to background threads to maintain high frame rates during terrain generation.