Skip to content
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

Drop flume to reduce dependency footprint now that std has a good channel #243

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Shnatsel
Copy link
Contributor

Two years ago the standard library's channel implementation was switched to a variant of crossbeam-channel. Now that std ships a good channel implementation, there is no reason to pull in a third-party one.

This removes a lot of dependency bloat from the image crate:

│   ├── flume v0.10.9
│   │   ├── futures-core v0.3.0
│   │   ├── futures-sink v0.3.0
│   │   ├── nanorand v0.6.0
│   │   │   └── getrandom v0.2.3
│   │   │       ├── cfg-if v1.0.0
│   │   │       └── libc v0.2.133
│   │   ├── pin-project v1.0.2
│   │   │   └── pin-project-internal v1.0.2 (proc-macro)
│   │   │       ├── proc-macro2 v1.0.52
│   │   │       │   └── unicode-ident v1.0.0
│   │   │       ├── quote v1.0.26
│   │   │       │   └── proc-macro2 v1.0.52 (*)
│   │   │       └── syn v1.0.67
│   │   │           ├── proc-macro2 v1.0.52 (*)
│   │   │           ├── quote v1.0.26 (*)
│   │   │           └── unicode-xid v0.2.0
│   │   └── spin v0.9.2
│   │       └── lock_api v0.4.0
│   │           └── scopeguard v1.1.0

All the fields with channels in them are private, so this is semver-compatible.

This change has no effect on benchmarks on my 6-core desktop CPU.

@johannesvollmer
Copy link
Owner

Sounds good, happy to merge :) thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants