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

Merged
merged 1 commit into from
Oct 29, 2024

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!

@Shnatsel
Copy link
Contributor Author

I'd appreciate if you could get this merged and released to crates.io sometime soon. Although I'm not in a rush to hit any particular deadline :)

@johannesvollmer johannesvollmer merged commit 9cc9642 into johannesvollmer:master Oct 29, 2024
5 checks passed
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