A big, fast and persistent queue based on memory mapped file.
###Feature Highlights:
- Fast: close to the speed of direct memory access, both enqueue and dequeue are close to O(1) memory access.
- Big: the total size of the queue is only limited by the available disk space.
- Persistent: all data in the queue is persisted on disk, and is crash resistant.
- Memory-efficient: automatic paging & swapping algorithm, only most-recently accessed data is kept in memory.
- Thread-safe: multiple threads can concurrently enqueue and dequeue without data corruption.
- Simple&Light-weight: current number of source files is 12 and the library jar is less than 20K.
###Performance:
- In concurrent producing and consuming case, the average throughput is around 166M bytes per second.
- In sequential producing then consuming case, the average throughput is around 333M bytes per second.
Suppose the average message size is 1KB, then big queue can concurrently producing and consuming
166K message per second. Basically, the throughput is only limited by disk IO bandwidth.
here is a detailed performance report
###Docs