Re: F37 proposal: Add -fno-omit-frame-pointer to default compilation flags (System-Wide Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kevin Kofler via devel wrote:
> Demi Marie Obenour wrote:
>> Valgrind is not helpful for profiling production workloads.  It is
>> too slow and will not provide an accurate indication of where the
>> time is being spent.  That requires a sampling profiler.
> 
> IMHO, Valgrind (with the Callgrind or Cachegrind profiles) has a pretty
> good cost model. Is it slow? Yes, definitely. (Count up to a factor 50
> slowdown for CPU-bound code.) Does it tell you where the bottlenecks are?
> In my experience, it does. I have even run entire JVMs through Valgrind
> Callgrind in order to find bottlenecks in the native C/C++ JNIs. (It will
> not help with the Java code, of course. You need a Java profiler for
> that.) It has always found the problem spots, where fixing them made the
> program faster. So, while I can understand the "too slow" part, I cannot
> agree with your "will not provide an accurate indication of where the time
> is being spent" assertion. It is quite the opposite: sampling will
> necessarily be less accurate because it can only take snapshots at certain
> intervals whereas Valgrind monitors the entire program execution at all
> times.

PS: Now, what I have NOT done with Valgrind, and what I agree Valgrind is 
not designed for, is what Meta is apparently doing with Perf, i.e., running 
their production server services with profiling always enabled. I normally 
run CLI tools or unit tests in Valgrind, which is what it works with best. 
If I have to profile or debug a server in Valgrind, I need to run a 
dedicated local instance for the test. But usually, it is better to just 
write a non-server test program that simulates the workload without a need 
for a client.

What Meta is doing can indeed only reasonably be done with a sampling 
profiler, with additional restrictions (in particular, they state that 
Perf's support to drop back to userspace for DWARF unwinding is too slow for 
them), but is that a common enough use case that it warrants globally 
degrading Fedora performance for all users, most of whom do not use Perf 
this way (if they even use it at all)?

I see -fno-omit-frame-pointer as a crude workaround for lack of proper 
unwinding support, not something you want to ever use in production.

        Kevin Kofler
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux