concurrent-queue icon indicating copy to clipboard operation
concurrent-queue copied to clipboard

Merge implementation with crossbeam-queue

Open notgull opened this issue 2 years ago • 2 comments

From a brief glance at both crates, it seems to me that there is very little noticeable difference between the algorithm used in concurrent-queue and the one used in crossbeam-queue. It would be nice to just re-implement concurrent-queue in terms of crossbeam-queue if there are no/little significant differences between the two implementations, as it would deduplicate code in the Rust ecosystem.

notgull avatar Aug 29 '23 04:08 notgull

IIRC, the main difference is the presence of code for the single-capacity cases (see also https://github.com/crossbeam-rs/crossbeam/issues/199#issuecomment-1019549315) and disconnect(close) support.

taiki-e avatar Mar 24 '24 07:03 taiki-e

I think there may also be a few optimizations that are present in crossbeam but not in concurrent-queue, such as https://github.com/crossbeam-rs/crossbeam/pull/1057.

taiki-e avatar Apr 23 '24 13:04 taiki-e