https://github.com/resetius/queue
https://github.com/resetius/queue
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/resetius/queue
- Owner: resetius
- Created: 2023-11-16T20:58:59.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-19T16:49:06.000Z (over 2 years ago)
- Last Synced: 2025-02-01T13:25:30.802Z (over 1 year ago)
- Language: C++
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Queue
## Introduction
Queue is a C++ project implementing a queue data structure using mapped files, tailored for inter-process communication (IPC). It supports a single-writer, single-reader format, offering two implementations: lock-free and mutex-based.
## Features
- Queue implementation based on mapped files for efficient IPC.
- Two variants: lock-free and mutex-based for different use cases.
- `bench.cpp`: A benchmarking tool comparing the queue performance with standard and `vmsplice` pipes.
## Technology Stack
- C++
- CMake
- CMocka (for tests)
## Installation and Setup
```bash
# Clone the repository
git clone [repository URL]
```
# Build the project
```
mkdir build && cd build
cmake ..
make
```
## Usage
- The queue can be used for IPC in scenarios requiring a 1-writer, 1-reader format.
- Run benchmarking with `./bench` to compare performance against pipes.
## Benchmarks
To run benchmarks comparing queue performance with pipes:
```bash
./bench
```