Open notgull opened 11 months ago
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.
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.
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 incrossbeam-queue
. It would be nice to just re-implementconcurrent-queue
in terms ofcrossbeam-queue
if there are no/little significant differences between the two implementations, as it would deduplicate code in the Rust ecosystem.