Ben Cotton wrote (on behalf of Daan De Meyer, Davide Cavalca, Andrii 
Nakryiko):

> Fedora will add -fno-omit-frame-pointer to the default C/C++
> compilation flags, which will improve the effectiveness of profiling
> and debugging tools.
[…]
> Any performance or efficiency work relies on accurate profiling data.

So, you propose to destroy programs' performance in order to allow people to 
more easily improve programs' performance? That strikes me as a particularly 
bad idea.

The profiling data collected with -fno-omit-frame-pointer will also not be 
accurate for when the software is compiled with the default (under -O2 and 
above) -fomit-frame-pointer. (In particular, the cost of shorter functions 
will be significantly higher (in relation to the total) with the frame 
pointer than with omitted frame pointer.) So it can actually lead to the 
software getting tuned only for the Fedora build configuration.

In addition, the frame pointer also increases code size (though, to be fair, 
the asynchronous unwind tables that we usually want for code compiled with 
-fomit-frame-pointer also take space).

> Sampling profilers probe the target program's call stack at regular
> intervals and store the stack traces. If we collect enough of them, we
> can closely approximate the real cost of a library or function with
> minimal runtime overhead.

Sampling profilers are fast, but will never reach the accuracy of Valgrind 
(which, as far as I know, can deal with DWARF unwinding just fine).

        Kevin Kofler
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to