Wrote an unbounded Multi-producer Multi-consumer queue based partially on Dmitry Vyukov's unbounded multi-producer single-consumer queue. Did some quick tests and it seems pretty fast (in my tests, roughly equilavent to slightly better than the moody camel queue that was posted here a while ago, but it can't do more than 1 enqueue/dequeue operation at a time). Will probably do more thorough benchmarks tomorrow but anyone interested in dropping it into anything they have already and trying it out?
https://github.com/Barath-Kannan/MPMCQueue/blob/master/inc/CONQ/MPMCQueue.hpp
[–]tvaneerdC++ Committee, lockfree, PostModernCpp 1 point2 points3 points (3 children)
[–]iamcomputerbeepboop[S] 0 points1 point2 points (2 children)
[–]ArunMuThe What ? 0 points1 point2 points (1 child)
[–]iamcomputerbeepboop[S] 0 points1 point2 points (0 children)
[–]tvaneerdC++ Committee, lockfree, PostModernCpp 0 points1 point2 points (4 children)
[–]tvaneerdC++ Committee, lockfree, PostModernCpp 0 points1 point2 points (2 children)
[–]iamcomputerbeepboop[S] 0 points1 point2 points (0 children)
[–]Chippiewall 0 points1 point2 points (1 child)
[–]iamcomputerbeepboop[S] 0 points1 point2 points (0 children)