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

Add binary size measurement for multiple targets to perf #3

Open
thomcc opened this issue Nov 30, 2023 · 4 comments
Open

Add binary size measurement for multiple targets to perf #3

thomcc opened this issue Nov 30, 2023 · 4 comments

Comments

@thomcc
Copy link
Member

thomcc commented Nov 30, 2023

We should add binary size measurement for a small set of target/program combinations to the perf suite. This involves choosing which targets and programs are relevant, although perhaps that should be informed by the work in #2, and possibly just done in these comments (or by the PR that implements support).

This is an action item from the meeting on 2023-11-30 and was discussed a bit around here: https://rust-lang.zulipchat.com/#narrow/stream/405744-wg-binary-size/topic/Meeting.202023-11-30/near/405210915.

@tgross35
Copy link

tgross35 commented Nov 30, 2023

Created rust-lang/rustc-perf#1760

Any ideas of sample programs to build for the no_std or WASM targets?

@Kobzol
Copy link

Kobzol commented Jan 12, 2024

We already measure binary size for all compile time benchmarks in the suite, and we have two specific benchmarks that optimize for small size (helloworld-tiny and ripgrep-tiny). Do you have any other specific things that you would like to add to the suite?

@tgross35
Copy link

At the meeting it came up that results for multiple targets would be nice, since there is really no reference for anything other than x86 linux. I am sure different targets is on the wishlist for runtime performance too, but being able to cross compile without running should hopefully make only reporting size relatively easy.

I think we would also like some no_std crates. But that should be easy enough for anyone to submit if there is support for build-only crates.

@Kobzol
Copy link

Kobzol commented Jan 12, 2024

All our compile-time benchmarks (so most of our suite) are build only, but I suppose that you meant "we only care about the final artifact, not about compilation time". Right, that makes sense, so the real goal is to have an ability to cross-compile. I guess that we would need Docker/cross for the interesting targets (Windows, macOS)? I also wonder if the binary size tends to be the same when you cross-compile vs when you compile natively.

no_std should be easy to do, we can just add a new benchmark that is no_std :) In fact we might already have some, cranelift-codegen maybe.

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

3 participants