sudara / melatonin_perfetto

Use google's perfetto performance tracing in JUCE plugins and apps
45 stars 8 forks source link

Issue with TRACE_DSP names in Release? #11

Closed sudara closed 1 year ago

sudara commented 1 year ago

Not 100% sure but I think I'm seeing some names collapse in release mode (perhaps due to inlining?)

Google Chrome - 2023-01-25 10@2x

benthevining commented 1 year ago

I'm not sure I see the problem in the above screenshot? Is it the "assemble" slice at the bottom with no qualifying scope?

sudara commented 1 year ago

Wasn't sure if related to #13 (as it only happens in release) but the issue is that SineMachineVoice::renderNextBlock is being used for methods encapsulated by it that should have their own annotation. For example one of them is a function actually called ::renderIfNeeded

benthevining commented 1 year ago

Interesting. It's possible it's due to inlining, I'm not really sure how to verify that though.

sudara commented 1 year ago

Can't really find much out there about __PRETTY_FUNCTION__ being useless due to release mode optimizations. Curious....

benthevining commented 1 year ago

As far as I know, the only way to definitely check if something got inlined is to inspect the actual generated assembly... 😬