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

Displayed timing is unclear and only accounts for rule-checking time #298

Closed
obi1kenobi opened this issue Jan 20, 2023 · 4 comments · Fixed by #630
Closed

Displayed timing is unclear and only accounts for rule-checking time #298

obi1kenobi opened this issue Jan 20, 2023 · 4 comments · Fixed by #630
Labels
A-cli Area: engine around the lints C-enhancement Category: raise the bar on expectations E-help-wanted Call for participation: Help is requested to fix this issue. E-mentor Call for participation: Mentorship is available for this issue.

Comments

@obi1kenobi
Copy link
Owner

Describe your use case

Our timing code predates the ability to generate rustdoc within the tool itself, and as such has some unintuitive behaviors:

  • It doesn't time rustdoc builds (either baseline or current).
  • Included time totals don't include rustdoc build or parse times, which are nontrivial for large crates.

This can be confusing from a user perspective, since running the tool under time will report noticeably different timing data than the tool's own printouts.

Since rustdoc build/parse timing information is not broken out and reported, it also makes it difficult for users to know how time is spent and how to attempt to speed up the tool's runtime.

Describe the solution you'd like

In verbose mode:

  • Report baseline and current rustdoc generation times.
  • Report rustdoc file parsing time.

In general:

  • Include rustdoc generation and parsing time in reported totals.

Alternatives, if applicable

No response

Additional Context

Based on this experience report: #296

@obi1kenobi obi1kenobi added C-enhancement Category: raise the bar on expectations A-cli Area: engine around the lints E-help-wanted Call for participation: Help is requested to fix this issue. E-mentor Call for participation: Mentorship is available for this issue. labels Jan 20, 2023
@AntoniosBarotsis
Copy link

Hello, I'd be interested to look into this!

I will be rather busy for the next week/week and a half but I can definitely implement this right after seems simple enough.

I was wondering how should I reach out if I need any help or clarifications on the issue? Should I just reply here? Thanks in advance!

If anyone else wants to work on this before me, feel free to do so! I don't want to hog the issue

@obi1kenobi
Copy link
Owner Author

Hey! Awesome, thanks for looking into it!

Replying here is fine. I'm also on the rust-lang Zulip if you prefer that: https://rust-lang.zulipchat.com/

@jw013
Copy link
Contributor

jw013 commented Jan 11, 2024

Current output:

     Parsing <crate> ... (current)
     Parsing <crate> ... (baseline)
    Checking <crate> ... 
#if VERBOSE
    Starting ...
        PASS [  S.SSSs] ...
        FAIL [  S.SSSs] ...
#endif
   Completed [   S.SSSs] ...
#if CHECKS_FAILED
--- failure reports ...
       Final [   S.SSSs] semver requires ...
#endif

Proposed changes (The + and * are just markers, not intended as output.)

     Parsing <crate> ... (current)
     Parsing <crate> ... (baseline)
+     Parsed [   S.SSSs]
    Checking <crate> ... 
#if VERBOSE
*   Starting ... (threads: #)
        PASS [   S.SSSs] ...
        FAIL [   S.SSSs] ...
#endif
   Completed [   S.SSSs] ...
#if CHECKS_FAILED
--- failure reports ...
*    Summary semver requires ...
#endif
+   Finished [   S.SSSs]

@obi1kenobi
Copy link
Owner Author

Presumably both the current and baseline parsing lines would get a Parsed output line, right?

If so, seems reasonable — ship it 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cli Area: engine around the lints C-enhancement Category: raise the bar on expectations E-help-wanted Call for participation: Help is requested to fix this issue. E-mentor Call for participation: Mentorship is available for this issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants