-
Notifications
You must be signed in to change notification settings - Fork 472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move queues into a new crate #292
Comments
Could you say more about the motivation for this? |
Sure. There are places where we really only need The Tokio is for the same reason split into |
Ah, thanks for explaining. I guess it would be nice to see that philosophy applied elsewhere. For example, Anyway, I think your proposal makes sense! |
I have plans to reduce dependencies of |
@jeehoonkang @Vtec234 I'm especially interested in your thoughts on this. :) |
303: Move queues into crossbeam-queue r=stjepang a=stjepang This PR moves `ArrayQueue` and `SegQueue` into a new crate `crossbeam-queue`. We need queues in a crate that doesn't pull all other Crossbeam crates as a dependency. In particular, Tokio wants to use MPMC queues but cares a lot about keeping its dependency tree as small as possible. See #292 for more information. Since we already have the `crossbeam::queue` module, and this simply extracts it into `crossbeam-queue`, and there's a real need for moving queues out of `crossbeam`, I believe the introduction of a new crate should be uncontroversial. I'll leave this PR open for a few days and merge if there are no objections. If anyone feels this might be a wrong decision, please speak up! Closes #292 Co-authored-by: Stjepan Glavina <stjepang@gmail.com>
So far, I've been hesitating splitting Crossbeam into multiple crates any further, at least until there comes a need for it. The time has now come since we'd like to use
SegQueue
in Tokio without pulling in the wholecrossbeam
crate as a dependency. Rayon needsSegQueue
for FIFO scopes as well.So the question is where should we move
SegQueue
,MsQueue
, and soon to be mergedArrayQueue
? I suggest taking the simplest possible option - just put them into a newcrossbeam-queue
crate. In the future we'd probably like to add more types of queues and parts ofcircbuf
(#277) that make sense.How does everyone feel about this?
The text was updated successfully, but these errors were encountered: