30 open-source projects similar to rigtorp/mpmcqueue, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best MPMCQueue alternative.
ConcurrentQueue is a header-only C++ template library that provides a lock-free data structure for multi-producer multi-consumer thread communication. It functions as a synchronization primitive designed to coordinate data flow between concurrent execution units using atomic operations rather than traditional mutex locking. The library distinguishes itself through a design that minimizes contention and synchronization overhead. It utilizes sub-queue token mapping to distribute workloads across partitioned internal queues and supports bulk operations to transfer multiple data elements in singl
This is a persistent data structure library for JavaScript that provides collections which prevent the direct mutation of objects and arrays. It serves as an immutable state management tool and functional programming utility, ensuring that data remains unchanged after creation to simplify change detection and state tracking. The library enables the maintenance of application state by producing new versions of data structures during updates. It focuses on efficient data comparison by checking actual content instead of memory references and supports a functional programming workflow to prevent
Roaring bitmaps in Go (golang), used by InfluxDB, Bleve, DataDog
C++ implementation of a fast hash map and hash set using robin hood hashing
Go package implementing Bloom filters, used by many important systems
A family of header-only, very fast and memory-friendly hashmap and btree containers.
Simple Binary Encoding (SBE) - High Performance Message Codec
Wire is a cross-platform code generator and implementation of gRPC and Protocol Buffers. It transforms schema definitions into type-safe native language bindings for Kotlin, Swift, and Java to ensure consistent data exchange and communication between distributed systems. The project provides specialized tools for protocol buffer schema management, including the ability to prune unused types and filter fields by version to reduce final binary sizes. It also handles namespace management and allows for the creation of custom schema handlers to execute user-defined logic during the compilation ph
C++ implementation of a fast hash map and hash set using hopscotch hashing
go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance concurrent applications in Go. It provides a modular library of specialized algorithmic toolsets, including a lock-free collection library and an immutable data structure library. The project distinguishes itself through a suite of persistent AVL trees and hash array mapped tries that use branch-copying to preserve previous versions. It also implements non-blocking hash maps, queues, and tries that enable linearizable snapshots and concurrent updates without the use of mutual exclusion
ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript
This project is a set theory library for Go that provides a data structure for storing unique elements of any comparable type using generics. It serves as a tool for managing unique collections and performing mathematical operations such as intersections and differences. The library provides synchronized collections to prevent data races during concurrent read and write operations. It also supports converting unique collections to and from JSON arrays for data persistence and network transmission. The implementation covers membership testing, collection cloning, and size calculation. It incl
HashMap JavaScript class for Node.js and the browser. The keys can be anything and won't be stringified
Postmodern immutable and persistent data structures for C++ — value semantics at scale
🏅State-of-the-art learned data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes
Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
A complete, fully tested and documented data structure library written in pure JavaScript.
a header-only, constexpr alternative to gperf for C++14 users
C++11/20 library that provides staticvector, smallvector, staticmap, smallmap, flatmap, staticflatmap, smallflatmap, staticunorderedmap, smallunordered_map, etc.
JCTools is a Java concurrency library providing a collection of lock-less and wait-free data structures. It serves as a toolkit for managing thread-safe data exchange, specifically designed to optimize high-throughput messaging and producer-consumer patterns in multi-threaded applications. The library distinguishes itself by implementing specialized queue structures that minimize contention and maximize throughput. By utilizing techniques such as cache-line padding, memory-barrier-based synchronization, and relaxed-consistency memory ordering, it avoids the performance bottlenecks often assoc
This is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides a suite of tools for general algorithm implementation, including data structure management, graph theory analysis, and string processing. The library is distinguished by its specialized toolkits for cryptographic hashing and encoding, featuring implementations of MD5, SHA-1, and Base64. It also includes advanced capabilities for high-performance string processing via suffix trees and arrays, as well as computational number theory for primality testing and arbitrary-precision
Bleve is a search indexing engine library written in Go, designed to provide full-text search and document retrieval capabilities for embedded application data. It functions as a framework for indexing structured or unstructured information, allowing developers to build searchable collections that support complex query logic and data analysis. The engine distinguishes itself through a pluggable analysis pipeline that normalizes text before indexing, alongside support for vector similarity search to identify semantically related content. It utilizes finite-state transducer automata for efficie
Go utility library for convenient looping using Go's range-over-func feature