|
|
|
|
|
by johnisgood
246 days ago
|
|
I just compiled "zed" with "cargo build --release" and not only did it pull >2000 dependencies, its size (executable file) is literally 1.4G. Debug is 1.2G. $ pwd
/tmp/zed/target/release
$ ls -lh ./zed
-rwx------ 2 john john 1.4G Aug 28 17:10 zed
--- $ dut zed/ | sort -h
598M 0B | | /- webrtc-sys-0a11149cbc74bc90
598M 0B | | | /- out
598M 0B | | |- webrtc-sys-090125d01b76a5e8
635M 160M | | /- s-hal7osjfce-1h7vhjb-4bdtrsk93m145adnqs17i9dxe
635M 160M | | |- project-06kh4lhaqfutk
641M 161M | | /- project-1ulvakop54j8y
641M 161M | | | /- s-hal5rdrth3-0j8nxqq-d0wsc7qnin39797z4e8ibhj4w
1.1G 1.1G | | /- zed-ed67419e7a858570
1.1G 1.1G | |- zed
1.3G 1.3G | /- zed-64b9faeefdf3b7df
1.3G 1.3G |- zed
1.4G 0B |- build
2.2G 0B | |- build
7.9G 1.4G /- deps
9.4G 0B |- release
14G 2.9G | |- incremental
19G 4.2G | /- deps
33G 0B /- debug
42G 0B /- target
42G 0B zed
Summary: $ du -h ./target/debug/deps/
20G ./target/debug/deps/
$ du -h ./target/release/deps/
8.0G ./target/release/deps/
$ du -h ./target/debug/zed
1.2G ./target/debug/zed
$ du -h ./target/release/zed
1.4G ./target/release/zed
This is on a whole new level of bloat; both with regarding to dependencies AND the resulting executable file(s) (EDIT: executable files are unstripped).Any explanations as to why "cargo" does not seem to re-use libraries (dependencies) in a shared directory, or why it needs >2000 dependencies (that I see being downloaded and compiled), or why the executable file of the release mode is 1.4G unstripped while of the debug one it is less? |
|