-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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 rustdoc JS search benchmark in performance checks #118056
Comments
Most likely cc @Kobzol (and Mark but I won't ping him he has too much on his plate already) |
If I understand it correctly, the benchmark measures how fast can the webpage generated by Rustdoc search within its index, via the search box at the top of the documentation page? |
To be more precise: running the search JS on a given query. Like we do in |
I see. I'm not sure if specialized benchmarks like this are a good fit for rustc-perf at the moment. It would be great to include them there in the long run (perhaps along with Out of curiosity, a few questions:
For now, I think that the first step could be to include this benchmark either in |
I was planning to iterate on this out-of-tree before trying to integrate it upstream. The benchmark suite isn't very mature or statistically rigorous, I wouldn't want it to block other kinds of improvements (like new features or reductions in code or index size), and I'm still experimenting with different Node profilers.
About 20 minutes total, most of it spent running
You need Node.JS and Rust. It also uses a Node.JS tool called 0x to write out the flame graph, which can be installed from NPM.
Right now, it's wall time, plus a flame graph. |
I have reservations about this, mostly because it's an entirely separate benchmark that has no overlap with the existing benchmark. |
It'd be nice to be able to trigger a specific benchmark for cases like this one. Like rustdoc got updated => running search JS perf to see if there is any change. Would be quite nice. :) |
In short, it’s not ready to merge upstream. |
Even if it was easy to integrate into perf.RLO, it's a bit problematic to run benchmarks only on demand (we're dealing with a similar problem with clippy). Because if you only run on demand, you don't have benchmark data available for the parent commit (however, the commit probably was already benchmarked, so we have some data for it in the DB). Which means that we would need to add a way in perf.RLO to run benchmarks on the same commit multiple times, which is not possible at the moment. But probably we will need something like this when switching to multiple collector machines. |
Not just on demand but also specific to some paths. If you don't update rustdoc, there is not much point to run search benches. |
@notriddle wrote a tool to benchmark performance for the rustdoc search. I think it's an important enough topic to watch if there are any changes (both positive and negative). Only question is how to integrate it in the current tool.
Example of usage of the tool in #118024.
cc @lqd @nnethercote (if you have any idea/suggestion?)
The text was updated successfully, but these errors were encountered: