Am 28.11.24 um 06:53 schrieb Andrii Nakryiko:
My whole point was that *benchmark* results are just part of the story, and we can't just take 1% and use that as "this is how much slower everything will be". And yet, you go ahead and do exactly that, doing some hypothetical math about collective slowdowns, with average usage costs, etc. I'm sorry, I see this as a completely useless hypothetical exercise. It's not hypothetical at all. Frame pointers affect every function in every binary. There is no reason why it should affect something like GCC more or less than maybe harfbuzz or some GTK library. I'm not even taking outliers like that Python benchmark into account. There is going to be some deviation, but 1-2%overall definitely sounds plausible. (Given the average function length and the additional instructions needed.) On the other hand, you completely discount and doubt any improvements enabled by more readily available profiling and observability tooling, even though it was *already* shown both in server-side land (e.g., in Meta fleet) and in Fedora distro ecosystem.
I don't discount these improvements, but (focusing on the distro ecosystem): * profiling and performance optimizations for a large part happen regardless of whether we build with frame pointers and * a 1-2% improvement across everything would be massive. The only way I see that happen is by compiler improvements, and I'm not sure they're going to happen this way. The second point is much easier in the Meta fleet. I don't doubt at all that you've gained even more than that.