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

Make profiling #387

Merged
merged 13 commits into from
Oct 17, 2023
Merged

Make profiling #387

merged 13 commits into from
Oct 17, 2023

Conversation

lrvick
Copy link
Contributor

@lrvick lrvick commented Oct 4, 2023

make reproduce and make now automatically call otherwise optional toolchain-profile target that displays wall clock build times for all targets, and logs it to a file under .toolchain/profiles

Makefile Outdated Show resolved Hide resolved
@james-callahan james-callahan marked this pull request as draft October 4, 2023 23:19
@lrvick lrvick marked this pull request as ready for review October 10, 2023 22:38
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
@lrvick
Copy link
Contributor Author

lrvick commented Oct 16, 2023

local make reproduce output:

Success: out and dist are identical
Build times:
- toolchain-clean                                                                   00:00:00
- cache/toolchain.tgz                                                               00:01:17
- cache/toolchain.state                                                             00:00:08
- cache/aws/x86_64/rust-libstd-musl.tgz                                             00:12:49
- cache/aws/x86_64/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a  00:00:00
- cache/aws/x86_64/init                                                             00:00:01
- cache/aws/x86_64/src/linux-5.19.6/Makefile                                        00:00:20
- cache/aws/x86_64/src/aws-nitro-enclaves-sdk-bootstrap                             00:00:05
- cache/aws/x86_64/nsm.ko                                                           00:06:12
- cache/bin/gen_init_cpio                                                           00:00:00
- cache/bin/gen_initramfs.sh                                                        00:00:00
- cache/aws/x86_64/rootfs.cpio                                                      00:00:00
- cache/aws/x86_64/bzImage                                                          00:00:06
- cache/bin/eif_build                                                               00:00:00
- out/aws-x86_64.eif                                                                00:00:06
- cache/aws/x86_64/src/pcsc                                                         00:00:06
- cache/aws/x86_64/lib/libpcsclite.a                                                00:00:14
- out/qos_client.linux-x86_64                                                       00:01:35
- out/qos_host.linux-x86_64                                                         00:01:21
- cache/aws/x86_64/src/openssl                                                      00:00:55
- cache/aws/x86_64/libssl-static.tgz                                                00:06:30
- cache/aws/x86_64/lib64/libssl.a                                                   00:00:00
- out/qos_enclave.linux-x86_64                                                      00:00:01
- out/qos_host.oci.x86_64.tar                                                       00:00:01
- out/qos_host.x86_64.tar                                                           00:00:00
- out/qos_enclave.oci.x86_64.tar                                                    00:00:01
- out/qos_enclave.x86_64.tar                                                        00:00:00
- out/qos_client.oci.x86_64.tar                                                     00:00:00
- out/qos_client.x86_64.tar                                                         00:00:00
Total: 00:32:10

@lrvick
Copy link
Contributor Author

lrvick commented Oct 16, 2023

mac users can test a reduced build set with:

time make TOOLCHAIN_REPRODUCE=true toolchain-clean toolchain-restore-mtime toolchain out/aws-x86_64.eif toolchain-profile

@lrvick lrvick merged commit d5c3792 into main Oct 17, 2023
11 checks passed
@lrvick lrvick deleted the lrvick/profiling branch October 17, 2023 17:04
@lrvick
Copy link
Contributor Author

lrvick commented Oct 17, 2023

was tested manually by @jack-kearney

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

Successfully merging this pull request may close these issues.

2 participants