Skip to content

bench: add basic bench for proxy startup performance - #5104

Draft
rami3l wants to merge 3 commits into
rust-lang:mainfrom
rami3l:perf/codspeed-bench
Draft

rami3l wants to merge 3 commits into
rust-lang:mainfrom
rami3l:perf/codspeed-bench

Conversation

@rami3l

@rami3l rami3l commented Sep 24, 2026

Copy link
Copy Markdown
Member

Note

GPT 5.6 Luna is used to analyze https://github.com/rustls/upki 's bench suite and to generate a part of the GitHub CI file.

Closes #5103.

@rami3l
rami3l force-pushed the perf/codspeed-bench branch 7 times, most recently from 9fbf466 to 8063d99 Compare September 24, 2026 19:47
@rami3l

rami3l commented Sep 24, 2026

Copy link
Copy Markdown
Member Author

The bench suite now passes but the upload failed. I'll have to reorganize the history and contact admins tomorrow so that we can have codspeed authenticated here.

@rami3l
rami3l force-pushed the perf/codspeed-bench branch 2 times, most recently from abce910 to 53735cc Compare September 25, 2026 07:45
@rami3l
rami3l force-pushed the perf/codspeed-bench branch from 53735cc to 22bb15a Compare September 25, 2026 07:46
@rami3l
rami3l requested a review from djc September 25, 2026 07:53
@rami3l
rami3l marked this pull request as ready for review September 25, 2026 07:53
@rami3l

rami3l commented Sep 25, 2026 •

Copy link
Copy Markdown
Member Author

The history is reorganized and the bench suite is parsing (the upload step still fails because I still have to contact admins). The Linux CI fails due to other build/cache errors I believe, which doesn't seem related to this patch.

Comment thread benches/bench.rs
Comment on lines +12 to +27
/// Returns the name of the enclosing function.
///
/// Borrowed from <https://docs.rs/stdext/0.3.3/src/stdext/macros.rs.html#63-74>,
/// original code licensed under MIT.
macro_rules! fn_name {
() => {{
// Okay, this is ugly, I get it. However, this is the best we can get on a stable rust.
fn f() {}
fn type_name_of<T>(_: T) -> &'static str {
std::any::type_name::<T>()
}
let name = type_name_of(f);
// `3` is the length of the `::f`.
&name[..name.len() - 3]
}};
}

@djc djc Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is worth it. Just repeat the names as a string constant?

View changes since the review

@rami3l

rami3l commented Sep 25, 2026

Copy link
Copy Markdown
Member Author

@djc Thanks for the quick review!

I'd love to address the remaining concerns, but it looks like this PR will have to pass the admins' discussions first to move on, so I'm moving this back to draft state :)

@rami3l
rami3l marked this pull request as draft September 25, 2026 09:11
@djc

djc commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

I'd love to address the remaining concerns, but it looks like this PR will have to pass the admins' discussions first to move on, so I'm moving this back to draft state :)

What discussion? Should have a link in the PR description.

@rami3l

rami3l commented Sep 25, 2026

Copy link
Copy Markdown
Member Author

I'd love to address the remaining concerns, but it looks like this PR will have to pass the admins' discussions first to move on, so I'm moving this back to draft state :)

What discussion? Should have a link in the PR description.

Here's the thread FWIW: https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/Giving.20codspeed.20permissions.20to.20rust-lang.2Frustup/with/626822759

This branch has not been deployed

No deployments
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.

Continuous performance tracking to avoid major regressions

2 participants