|
-
November 29th, 2010, 01:56 AM
#9
Re: multiple writers and single read FIFO queue performance
thanks for your replies.
currently the throughput of one message end to end is about 50 micro-seconds, two queues (input_q and outgoing_q) take more than 10 micro-seconds out of the 50 micro-seconds.
our target is to to maintain around the same througput of one message and improve its scalability when there are multiple messages received at the same time,
To improve scalability, we have to introduce another layer of queues for each different processor, however it will occur extra time spent in enqueue and dequeue.
during our test, we start 8 threads to enqueue the messages and one reader thread to dequeue. it takes about 4 seconds to finish enqueuing 1.6M messages, every message is just a pointer. We are testing in a Red Hat Linux AS5 platform with 8 CPUs.
std: eque is very fast since its underly structure is array actually. one enqueue or dequeue operation in std: eque is just a few nano-seconds.
thanks,
sandodo
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|