14 Repos
Toolkits for distributing computational workloads across multiple CPU cores for high-throughput processing.
Distinct from Concurrent Query Processing: Distinct from Concurrent Query Processing: focuses on general-purpose data processing toolkits rather than database-specific query execution.
Explore 14 awesome GitHub repositories matching data & databases · Concurrent Data Processors. Refine with filters or upvote what's useful.
This library is a collection of generic utilities for the Go programming language designed to simplify the manipulation of slices and maps. It provides a functional toolkit that enables developers to perform data transformations, such as filtering, mapping, and reducing, while maintaining strict type safety through the use of language-level generics. The project distinguishes itself by offering a dual approach to data processing that balances functional programming patterns with performance-oriented execution. It supports both immutable functional pipelines for predictable state transitions a
Provides a toolkit for distributing computational workloads across multiple CPU cores for high-throughput processing.
brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio
Handles binary data concurrently using an event dispatcher to minimize long-tail latency.
Badger is an embeddable key-value store written in Go that provides persistent data storage for byte keys and values. It is a persistent database that utilizes a tiered LSM tree storage model to optimize disk storage and retrieval efficiency. The system features an ACID transaction engine that ensures data integrity through serializable snapshot isolation and multi-version concurrency control. It also provides an encrypted key-value store with data-at-rest encryption and a managed encrypted key registry to secure stored information. The engine covers a broad set of capabilities including hig
Enables concurrent iteration over database snapshots using multiple workers to batch filtered key-value pairs.
Dolphin is a multimodal layout analyzer and image-to-structure converter that transforms photographed or digital document images into machine-readable structured data. It functions as an LLM document parser, utilizing vision-language models to simultaneously predict spatial layout and text content. The system is designed as a concurrent document processor, employing parallel document parsing to process multiple elements across distributed compute nodes. This high-throughput approach reduces the total time required to convert large volumes of images into structured formats. The project covers
Distributes computational workloads across multiple cores to accelerate the conversion of images into structured data.
whatsmeow is a Go library that implements the WhatsApp multidevice protocol, providing direct access to the binary node serialization, WebSocket-based connection management, and Signal‑Protocol encryption that underpin WhatsApp’s messaging infrastructure. It maintains persistent, low-latency connections across multiple devices, handles session credentials independently for each device, and processes incoming events through an event‑driven dispatch system for messages, receipts, and presence updates. The library differentiates itself through comprehensive client‑side state management: it cache
Processes incoming WhatsApp events through a callback-based event dispatcher for messages, receipts, and presence updates.
RxGo is a functional reactive programming library and an implementation of ReactiveX for the Go language. It serves as an asynchronous stream processing toolkit designed to coordinate event-based programs and data flows using the observable pattern. The library enables the construction of asynchronous processing pipelines that transform, filter, and combine event sequences. It distinguishes itself through the use of functional operators to compose these pipelines and provides mechanisms for managing concurrent execution. The toolkit covers a broad range of stream orchestration capabilities,
Provides a toolkit for distributing computational workloads across multiple CPU cores for high-throughput stream processing.
FirebaseChat is a real-time chat application and serverless messaging client that synchronizes conversations and messages instantly across clients. It provides a user interface for a messaging system backed by a cloud-hosted NoSQL document store. The project implements a real-time chat system through the integration of a Firebase backend, allowing for instant messaging workflows and the synchronization of data across connected clients. The application manages data using schema-less NoSQL storage and document-based data modeling. It utilizes a persistent connection for database synchronizatio
Triggers UI updates and notifications using an event-driven dispatch system based on backend data changes.
Streem ist eine streambasierte Programmiersprache und ein Daten-Pipeline-Orchestrator. Sie bietet eine domänenspezifische Sprache zur Definition paralleler Datenflüsse, die es Benutzern ermöglicht, Datenquellen über eine Sequenz von Operationen, die einzelne Streamelemente transformieren und filtern, mit Zielen zu verknüpfen. Das System verwendet eine benutzerdefinierte Skriptsyntax zur Definition von Datenflussverbindungen und Pipeline-Definitionen. Dies ermöglicht die Orchestrierung paralleler Datenverarbeitung, bei der mehrere Pipeline-Stufen gleichzeitig ausgeführt werden, um Datenelemente durch das System zu bewegen. Die Plattform deckt funktionale Datentransformation und stufenbasierte Komposition ab, wobei spezifische Funktionen angewendet werden, um Elemente zu modifizieren oder zu filtern, während sie eine sequenzielle Kette verknüpfter Operationen durchlaufen.
Handles multiple pieces of information simultaneously by passing them through a pipeline of independent functions.
Ultrajson ist eine hochperformante Python-JSON-Bibliothek und ein C-basierter Parser, der entwickelt wurde, um Parsing-Overhead zu minimieren. Er bietet eine C-Implementierung der JSON-Spezifikation, um schnelles Enkodieren und Dekodieren von Daten zu ermöglichen. Das Projekt fungiert als konkaurrenter JSON-Prozessor und unterstützt Multi-Threaded-Serialisierung und -Deserialisierung, um den Datendurchsatz zu erhöhen und blockierende Ausführungen zu verhindern. Die Funktionen decken Python-Datenserialisierung und hochperformante JSON-Verarbeitung für Echtzeit-Datenpipelines ab. Dies beinhaltet das Parsen von JSON-Daten und das Serialisieren nativer Objekte in JSON-Strings.
Functions as a concurrent processor supporting multi-threaded JSON operations to prevent blocking execution.
Concurrent-map is a lock-striped hash map and sharded concurrent cache for Go, designed as a high-performance key-value store that enables thread-safe parallel reads and writes with minimal blocking. It replaces a single global mutex with per-shard locking, using hash-based key distribution to assign entries to independent segments, allowing multiple goroutines to operate simultaneously without race conditions. The library achieves its performance through fine-grained locking and a lock-free read path, where each shard operates independently with its own lock, enabling parallel reads and writ
Supports snapshot-based iteration allowing safe traversal of all entries while concurrent modifications occur.
SSH.NET is a .NET library that implements the SSH-2 protocol for encrypted remote connections and secure file transfers. It provides a complete SSH-2 protocol stack implementation with a channel multiplexing engine that manages multiple concurrent channels over a single connection, supporting simultaneous shell sessions, remote command execution, SFTP transfers, and port forwarding tunnels. The library includes a pluggable authentication pipeline supporting password, public key, certificate, keyboard-interactive, and multi-factor authentication combinations. The library distinguishes itself t
Dispatches SSH protocol messages and session events through a subscription-based handler system for extensible message processing.
OpenMQTTGateway ist ein Multi-Protokoll-IoT-Gateway und Hardware-Interface für ESP32- und ESP8266-Geräte. Es dient als Brücke, die Bluetooth Low Energy, Radiofrequenz- und Infrarotsignale in standardisierte MQTT-Nachrichten für die Verwendung in Smart-Home-Systemen umwandelt. Das Projekt bietet spezifische Bridging-Funktionen für 433-MHz-, 315-MHz- und 868-MHz-Funksignale sowie LoRa- und Infrarotbefehle. Es enthält einen Bluetooth-Präsenzdetektor, der Geräte-Advertisements überwacht, um die Nähe und den Standort von Personen oder Objekten zu verfolgen. Das System handhabt IoT-Sensor-Aggregation durch passives Scannen und asynchrones Funk-Polling, wobei rohe Binärdaten über hardwarespezifische Payload-Dekodierung in JSON-Formate konvertiert werden. Es unterstützt zudem bidirektionales Befehls-Routing zur Verwaltung verbundener drahtloser Geräte und intelligenter Steckdosen.
Triggers MQTT publishing routines immediately upon the detection and decoding of valid hardware signals.
Melody is a WebSocket server framework designed to upgrade HTTP connections into bidirectional streams. It functions as a session manager and binary streaming library that facilitates real-time data exchange between a server and multiple remote clients. The project features a broadcast engine that optimizes multi-client transmissions through wire-representation caching. It includes a dedicated session management system for attaching custom state to persistent network connections and an upgrade handler that validates handshake headers. The framework covers broad capability areas including eve
Provides an event dispatcher to route incoming binary network frames to specific handler functions efficiently.
Dieses Projekt ist eine Bildungsressource, die Entwicklern helfen soll, die gleichzeitige Ausführung (Concurrency) und Synchronisationsmuster in Go zu meistern. Es bietet eine strukturierte Sammlung praktischer Programmierübungen und testgetriebener Herausforderungen, die sich auf die praktische Implementierung von Multi-Threaded-Software-Engineering-Praktiken konzentrieren. Das Repository betont die Kernmechanismen der Go-Concurrency, einschließlich Channel-basierter Kommunikation, Mutex-Locking und Lifecycle-Koordination. Es deckt wesentliche Muster ab, wie das Verwalten von Hintergrundaufgaben, das Implementieren sauberer Service-Shutdowns und das Erzwingen von Ratenbegrenzungen oder Ausführungszeitbeschränkungen. Durch das Bearbeiten dieser Übungen lernen Benutzer, gemeinsam genutzte Speicherstrukturen zu schützen und Race Conditions bei gleichzeitigen Operationen zu verhindern. Die Materialien enthalten automatisierte Test-Utilities, die Laufzeit-Instrumentierung nutzen, um die Korrektheit der Concurrency-Logik zu validieren. Diese Übungen führen Lernende durch die Nuancen der Koordination mehrerer Routinen und stellen sicher, dass gemeinsam genutzte Ressourcen Thread-sicher bleiben, während der Systemdurchsatz gewahrt wird.
Coordinates multiple routines for simultaneous data production and consumption to increase throughput.