Stream: t-compiler/wg-rls-2.0

Topic: tracing


matklad (Jul 24 2020 at 19:13, on Zulip):

Seems like the time has come to replace our home-grown profiling infra with tracing: https://github.com/rust-lang/rust/pull/74726

Christopher Durham (Jul 26 2020 at 02:57, on Zulip):

:eyes: but also ouch on that perf report :sweat:

David Barsky (Jul 26 2020 at 17:10, on Zulip):

oh goodness, that's one hell of a perf report

Jonas Schievink (Jul 26 2020 at 17:34, on Zulip):

is the compile-time max_log_level thingy not working?

David Barsky (Jul 26 2020 at 17:43, on Zulip):

I think this might be the issue: https://github.com/rust-lang/rust/pull/74726#discussion_r460553066

David Barsky (Jul 26 2020 at 17:43, on Zulip):

I was able to reproduce that on my computer

David Barsky (Jul 26 2020 at 17:44, on Zulip):

(no playground link, unfortunately. tracing's not in there yet)

David Barsky (Jul 26 2020 at 18:22, on Zulip):

Eliza commented with more details: https://github.com/rust-lang/rust/pull/74726#discussion_r460557136

David Barsky (Jul 27 2020 at 16:58, on Zulip):

Another update: after resolving the issues rustc encountered, the perf results indicated that tracing's within 10% of log when enabled (day-to-day rustc users won't see this). this regression occurs due to the initial callsite registration relatively slow (a few dozen milliseconds), but since tracing was highly optimized around long-lived network applications, this initial registration was almost completely amortized and invisible to most of tracing's users. Eliza gave some additional details: https://github.com/rust-lang/rust/pull/74726#issuecomment-664482501

David Barsky (Jul 27 2020 at 16:58, on Zulip):

there should be a fix for this Soon, perhaps in the next day or so.

Last update: Sep 27 2020 at 14:00UTC