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

Reduce dependency tree #3515

Open
6 of 9 tasks
thomaseizinger opened this issue Feb 27, 2023 · 3 comments
Open
6 of 9 tasks

Reduce dependency tree #3515

thomaseizinger opened this issue Feb 27, 2023 · 3 comments
Labels
tracking-issue Issues which are the entry point to bigger projects.

Comments

@thomaseizinger
Copy link
Contributor

thomaseizinger commented Feb 27, 2023

I'll record various efforts in here to reduce the size of our dependency tree where possible.

Tasks

  1. send-it
  2. difficulty:hard help wanted priority:nicetohave
  3. difficulty:easy help wanted priority:nicetohave

More suggestions welcome, a good place to start is a timings report by cargo of the entire workspace (minus dev-dependencies): cargo build --workspace --all-features --timings. Once you have identified a (ideally heavy) dependency that we might not need, investigate with cargo tree -i -p <dependency> where it comes from.

@tbu-
Copy link

tbu- commented Mar 11, 2023

Might it be possible to get rid of the async-std (optional) dependency? I'd guess the ecosystem has moved on to tokio these days, with the last commit in async-std being 9 months ago: async-rs/async-std@bf316b0.

I think this could help cutting down some more dependencies as well.

@thomaseizinger
Copy link
Contributor Author

I am not following the async-std development but I'd consider that one too established to remove.

Plus, it is optional as you said. I think it would be more fruitful to investigate for dependencies in our protocol crates like yamux, gossipsub or kademlia.

@thomaseizinger
Copy link
Contributor Author

Might it be possible to get rid of the async-std (optional) dependency? I'd guess the ecosystem has moved on to tokio these days, with the last commit in async-std being 9 months ago: async-rs/async-std@bf316b0.

I think this could help cutting down some more dependencies as well.

We can cut down some dependencies by moving all our tests and examples to tokio. async-std is heavily feature-flagged, meaning we can reduce our dependencies by only activating the bare minimum features needed in the various transports and libp2p-swarm.

@thomaseizinger thomaseizinger changed the title Tracking issue: Reduce dependency tree Reduce dependency tree Sep 19, 2023
@thomaseizinger thomaseizinger added difficulty:moderate help wanted tracking-issue Issues which are the entry point to bigger projects. and removed help wanted difficulty:moderate labels Sep 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tracking-issue Issues which are the entry point to bigger projects.
Projects
None yet
Development

No branches or pull requests

2 participants