-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Remove -Z time-passes and error with "-Z self-profile should be used instead". #53631
Comments
I'm in favor! |
I'm against. I use |
|
I'm mildly against if the replacement can't print some compilation progress at real time. |
@bjorn3 How so, does it not have a per-query breakdown? I'll shamefully admit I opened this issue away from my laptop when I remembered Either way, we should track the remaining problems with @Zoxc also mentioned on IRC that it doesn't work when there are errors. @kennytm Ah, great point, I had forgotten. Would #53630 solve the "real time" problem for you? EDIT: I've added these to the issue description. |
@eddyb works for me 😃 |
@eddyb We don't have per-query breakdown yet, just broad level categorization. Per-query is the next thing I plan on working on. |
I want some way to output various "events" pertaining to the query system (query X start, query X end, query X executes query Y, etc) in whatever format, as they occur. Preferably the format would target some tooling that already exists, but I cannot really advise on anything in particular at the moment. See this comment for examples of what I’m talking about. This could possibly be the solution for the granularity problem. I can say from experience, that tracing such events is definitely not as expensive as it may sound and usually introduces overhead in proximity of tens to hundreds of ns per event. |
@nagisa I think we already have something similar because of dep graph tracking, but @michaelwoerister knows more than me here (I remember seeing event-collecting threads). |
Looking into webrender I noticed it uses thread_profiler, which outputs traces in Trace Event Format. Links lead to catapult, which upon the first blush seems similar to the tools I referenced before. |
That is roughly what the old stuff did, iirc. I think we mostly ripped that out. I like the idea emitting events, at least in principle. I also like the idea of per-query profiling. I also like the idea of removing time-passes =) It seems like we can fix things to emit a result in the case of error without great difficulty? Mostly a matter of using a |
Ah I see @eddyb already made a check-list, 👍 from me. I'd be ok with removing |
Anyone is working on this? |
Hi @FrankSD! The self-profile feature has a fair bit of churn going on right now. Before you decide to work on this, I'd recommend stopping by the |
I don't think we should remove time-passes until self-profile measures memory usage: #81348 |
Is this still a desired thing? |
I would rather not make this change. -Z time-passes is nice because you can get feedback while compilation is still ongoing, without having to wait for it to finish. It's less accurate but it's also a lot nicer to use. |
I'm going to close this issue based on the comments above since it appears that no further input is likely. |
Remaining issues with
-Z self-profile
:-Z time-passes
had pre-queriescc @steveklabnik @wesleywiser @alexcrichton @rust-lang/compiler
The text was updated successfully, but these errors were encountered: