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@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