Project Description

Multi-threaded producer/consumer for high throughput and low latency

The library (consisting of a single class implemented in MBuffer.h) provides a producer/consumer buffer that could be configured for high throughput and low latency. The buffer is treated as a two dimensional array RxC (R rows and C columns) with synchronization done on per row basis. This significantly reduces synchronization overhead. The timing statistics suggest that average producer/consumer time reduces in inverse relation to the row size.

See documentation section for more detailed explanation.


Files

MBuffer.h -- producer/consumer message buffer implementation
MsgQExample.cpp -- An example using MBuffer.h
MBufferTiming.cpp -- Application to get timing statistics

Last edited Aug 23, 2016 at 11:57 AM by kantb, version 11