On Sat, Apr 20, 2024 at 5:53 PM <intelfx@xxxxxxxxxxxx> wrote: > I'm trying to build Git with PGO (for a private distribution) and I > have two questions about the specifics of the profiling process. Generally speaking, there does not need to be a lot of execution to generate good profiles. Execute the happy paths and collect data from those. (Which implies that unittests are usually a bad source of profile data.) Many folks use performance tests to generate profiles because they are already written, but often, they are overkill. Depending on what is going on in the real world, more resources are spent on collecting data than would be saved by the resulting optimizations. I'd say, don't worry about it, and just go with what is already provided. For tools like git, each run is short enough that improvements are not likely to be noticed in day-to-day activities. It is still likely to be IO bound. Most perceived performance issues are more likely to be addressed by algorithmic improvements (in general, not just git), rather than feedback profiles. Now, for any busy long running servers, this can make a bigger difference, particularly for computationally expensive operations like authentication. But again, IO is likely to dominate. mrc