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

Dependency explosion in version 4 #41

Closed
heftig opened this issue Feb 15, 2021 · 2 comments
Closed

Dependency explosion in version 4 #41

heftig opened this issue Feb 15, 2021 · 2 comments

Comments

@heftig
Copy link

heftig commented Feb 15, 2021

The recent switch from git CLI to libgit2 caused an explosion in build dependencies, including new non-Rust libraries:

Before (version = "3"):

~/foo> =time cargo build --release
   Compiling autocfg v1.0.1
   Compiling libc v0.2.86
   Compiling ucd-trie v0.1.3
   Compiling bitflags v1.2.1
   Compiling pest v2.1.3
   Compiling num-traits v0.2.14
   Compiling num-integer v0.1.44
   Compiling time v0.1.44
   Compiling semver-parser v0.10.2
   Compiling semver v0.11.0
   Compiling chrono v0.4.19
   Compiling rustc_version v0.3.3
   Compiling vergen v3.2.0
   Compiling foo v0.1.0 (/home/jan/foo)
    Finished release [optimized] target(s) in 5.21s
13.45user 1.53system 0:05.33elapsed 281%CPU (0avgtext+0avgdata 291084maxresident)k
0inputs+117968outputs (4major+356809minor)pagefaults 0swaps

After (version = "4", only git feature):

~/foo> =time cargo build --release
   Compiling libc v0.2.86
   Compiling autocfg v1.0.1
   Compiling pkg-config v0.3.19
   Compiling proc-macro2 v1.0.24
   Compiling unicode-xid v0.2.1
   Compiling version_check v0.9.2
   Compiling syn v1.0.60
   Compiling matches v0.1.8
   Compiling tinyvec_macros v0.1.0
   Compiling log v0.4.14
   Compiling bitflags v1.2.1
   Compiling percent-encoding v2.1.0
   Compiling serde_derive v1.0.123
   Compiling cfg-if v1.0.0
   Compiling serde v1.0.123
   Compiling openssl-probe v0.1.2
   Compiling unicode-bidi v0.3.4
   Compiling tinyvec v1.1.1
   Compiling proc-macro-error-attr v1.0.4
   Compiling proc-macro-error v1.0.4
   Compiling num-traits v0.2.14
   Compiling num-integer v0.1.44
   Compiling form_urlencoded v1.0.0
   Compiling quote v1.0.9
   Compiling unicode-normalization v0.1.17
   Compiling jobserver v0.1.21
   Compiling time v0.1.44
   Compiling cc v1.0.66
   Compiling idna v0.2.1
   Compiling chrono v0.4.19
   Compiling openssl-sys v0.9.60
   Compiling libz-sys v1.1.2
   Compiling libssh2-sys v0.2.21
   Compiling libgit2-sys v0.12.18+1.1.0
   Compiling url v2.2.0
   Compiling vergen v4.0.1
   Compiling enum-iterator-derive v0.6.0
   Compiling getset v0.1.1
   Compiling enum-iterator v0.6.0
   Compiling git2 v0.13.17
   Compiling foo v0.1.0 (/home/jan/foo)
    Finished release [optimized] target(s) in 17.79s
88.06user 9.09system 0:17.91elapsed 542%CPU (0avgtext+0avgdata 387964maxresident)k
3216inputs+488912outputs (5major+1096040minor)pagefaults 0swaps
@heftig
Copy link
Author

heftig commented Feb 15, 2021

I don't think you need git2's default features (such as https and ssh)? That would already remove a few things.

@CraZySacX
Copy link
Member

This is fixed by #37. I'll be cutting a minor release after CI has finished.

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

No branches or pull requests

2 participants