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

Print total disc-usage in MiB #224

Open
dileks opened this issue Jan 24, 2023 · 4 comments
Open

Print total disc-usage in MiB #224

dileks opened this issue Jan 24, 2023 · 4 comments

Comments

@dileks
Copy link
Contributor

dileks commented Jan 24, 2023

I wish to see at the end of my stage1-only or thinlto_pgo_optimized LLVM toolchain build a summary listing me the disc-usage of the single folder and if possible of the total build.

stage1-only:

python3 ./build-llvm.py --no-update --build-type Release -p clang;lld -t X86;BPF --clang-vendor dileks -B /home/dileks/src/llvm/build -I /opt/llvm --check-targets clang lld --build-stage1-only --install-stage1-only -D LLVM_PARALLEL_LINK_JOBS=1 --show-build-commands

thinlto_pgo_optimized:

python3 ./build-llvm.py --no-update --build-type Release -p clang;lld -t X86;BPF --clang-vendor dileks -B /home/dileks/src/llvm/build -I /opt/llvm --check-targets clang lld --lto thin --pgo kernel-defconfig -L /home/dileks/src/linux/git -D LLVM_PARALLEL_LINK_JOBS=1 --show-build-commands

As you can see I use build, install and linux folders - that I mean with singlefolder(s).

Preferrably: the sizes in MiB

Thanks.

@dileks
Copy link
Contributor Author

dileks commented Jan 24, 2023

Examples:

stage1-only:

3777    /home/dileks/src/llvm/build
1722    /opt/llvm
138     /mnt/sandisk/ccache/llvm

thinlto_pgo_optimized:

8321    /home/dileks/src/llvm/build
1872    /opt/llvm
799     /home/dileks/src/linux/git/out

@nathanchance
Copy link
Member

I do not really see how this information is generally useful enough to belong in build-llvm.py directly vs. just placing few calls to du -sh in a wrapper script. The time printing is useful so that you know how much each stage took and how long the whole script took, which can be useful for future estimation or benchmarking, since time is a generally valuable resource to everyone. I do not think that disk usage has the same scarcity for most people so that information is just going to be noise for them, especially since the guidance is just going to be "build less code or upgrade the amount of space you have".

I am happy to hear opinions from other users of the script though!

@dileks
Copy link
Contributor Author

dileks commented Jan 24, 2023

Numbers talk - Bullshit walks. Linus Torvalds

Unfortunately, I kept the statistics together with my tarball in the same archives directory.
Removed them with every LLVM major upgrade.

Comparison reasons?

Here some numbers of LLVM-11.0.3-rc3:

[ build-time_disc-usage_llvmorg-11.0.0-rc3-0b56e5490dc3-thinlto_pgo_optimized.txt ]

[ BUILD-TIME ]

install:
total 28K
drwxr-xr-x 11 dileks dileks 4.0K Aug 29 20:56 ..
drwxr-xr-x  2 dileks dileks 4.0K Aug 29 20:32 bin
drwxr-xr-x  6 dileks dileks 4.0K Aug 29 20:32 .
-rw-r--r--  1 dileks dileks    1 Aug 29 20:32 .gitignore
drwxr-xr-x  4 dileks dileks 4.0K Aug 29 20:32 lib
drwxr-xr-x  4 dileks dileks 4.0K Aug 29 20:32 share
drwxr-xr-x  7 dileks dileks 4.0K Aug 29 20:32 include

build:
total 26M
drwxr-xr-x 11 dileks dileks 4.0K Aug 29 20:56 ..
drwxr-xr-x 14 dileks dileks 4.0K Aug 29 20:32 stage3
drwxr-xr-x  5 dileks dileks 4.0K Aug 29 11:31 .
-rw-r--r--  1 dileks dileks  26M Aug 29 11:31 profdata.prof
drwxr-xr-x 15 dileks dileks 4.0K Aug 29 08:35 stage2
drwxr-xr-x 12 dileks dileks 4.0K Aug 29 08:33 stage1

NOTE: profdata.prof is 26M big (vs. Clang-PGO approx. 6.5M).


[ DISC-USAGE ]

540  /home/dileks/src/linux-kernel/git/out
7939 /home/dileks/src/llvm-toolchain/build
1343 /home/dileks/src/llvm-toolchain/install


[ HISTORY ]

-dileks // 02-Feb-2021: Clean-up; Split into BUILD-TIME and DISC-USAGE; Note profdata.prof file-size
-dileks // 29-Aug-2020: Initial release

Today, the profdata.prof is 48 MiB.

For the records with the disc-usage of git.
What do you have now...

LLVM 15.0.7 thinlto_pgo_optimized:

8321    /home/dileks/src/llvm/build
1872    /opt/llvm
799     /home/dileks/src/linux/git/out
3907    /home/dileks/src/llvm/git (tc-build + llvm-project)

... a new number:
14899 MiB <--- target: X86+BPF || 3-stages compilation + install etc.

Plus tar.zst tarballs of build and install directories:

$ du -s -m ~/src/llvm/archives/dileks-llvm-toolchain-15.0.7-5-g2c432a3d6ea8-thinlto_pgo_optimized-KCFI /opt/archives/ccOK_dileks-llvm-toolchain-15.0.7-5-g2c432a3d6ea8-thinlto_pgo_optimized-KCFI.tar.zst
2317    /home/dileks/src/llvm/archives/dileks-llvm-toolchain-15.0.7-5-g2c432a3d6ea8-thinlto_pgo_optimized-KCFI
653     /opt/archives/ccOK_dileks-llvm-toolchain-15.0.7-5-g2c432a3d6ea8-thinlto_pgo_optimized-KCFI.tar.zst

Man, 18 GiB disc-usage!
WOW, that's a number.

@dileks
Copy link
Contributor Author

dileks commented Jan 24, 2023

Corrections:

$ du -s -m ~/src/llvm/git
3853    /home/dileks/src/llvm/git

I had binutils-2.40, build+install not removed.

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