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

Consolidate dependency crates #2764

Closed
lyang24 opened this issue Nov 16, 2023 · 3 comments
Closed

Consolidate dependency crates #2764

lyang24 opened this issue Nov 16, 2023 · 3 comments
Labels
C-enhancement Category Enhancements

Comments

@lyang24
Copy link
Collaborator

lyang24 commented Nov 16, 2023

What type of enhancement is this?

Tech debt reduction

What does the enhancement do?

reduce number of duplicated dependency crates and improve build time

first time building Greptimedb compiled thousands of crates and there are lots of duplicated crates with different versions, I wonder if we could deduplicate the crates and achieve better build performance.

   Compiling zstd-safe v6.0.6
   Compiling zstd-safe v7.0.0
   Compiling zstd-safe v5.0.2+zstd.1.5.2
   Compiling zstd v0.12.4
   Compiling zstd v0.13.0
   Compiling zstd v0.11.2+zstd.1.5.2
   Compiling tokio-rustls v0.23.4
   Compiling tokio-rustls v0.24.1
   Compiling parquet v47.0.0
   Compiling async-compression v0.4.4
   Compiling async-compression v0.3.15

Implementation challenges

maybe a centralized cargo workplace for dependencies?

@lyang24 lyang24 added the C-enhancement Category Enhancements label Nov 16, 2023
@waynexia
Copy link
Member

Thanks for reporting this @lyang24. I've checked all three version of zstd, and non of them are directly dependent by greptimedb:

zstd v0.13.0:

zstd v0.13.0
├── async-compression v0.4.5
│   └── datafusion v32.0.0 (https://github.com/apache/arrow-datafusion.git?rev=26e43acac3a96cec8dd4c8365f22dfb1a84306e9#26e43aca)
│       [dev-dependencies]
└── datafusion v32.0.0 (https://github.com/apache/arrow-datafusion.git?rev=26e43acac3a96cec8dd4c8365f22dfb1a84306e9#26e43aca) (*)

zstd v0.12.4:

zstd v0.12.4
└── parquet v47.0.0
    [dev-dependencies]

zstd v0.12.4
└── orc-rust v0.2.43

zstd v0.11.2:

zstd v0.11.2+zstd.1.5.2
└── async-compression v0.3.15
    ├── common-datasource v0.4.3 (/home/wayne/repo/greptimedb-dev/src/common/datasource)
    │   [dev-dependencies]
    └── tower-http v0.3.5

For async-compression, its newest version 0.4 has bumped zstd to ^0.13. Would you like to submit a PR to upgrade async-compression?

@lyang24
Copy link
Collaborator Author

lyang24 commented Nov 22, 2023

Would you like to submit a PR to upgrade async-compression?
thank you for look into this and yes will do.

@killme2008
Copy link
Contributor

Looks like it's not a valid issue, I closed it, feel free to reopen it when you have problems.

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

No branches or pull requests

3 participants