On Thu, Oct 25, 2018 at 03:20:11PM +0900, Mike Hommey wrote: > Package: linux-perf-4.18 > Version: 4.18.10-2 > Severity: wishlist > File: /usr/bin/perf_4.18 > > Dear Maintainer, > > Running e.g. perf report with dwarf call graph info can take a long time > depending on the size of the profile and the size of dwarf info in the > binaries being profiled. That's because each address in each library is > handled by forking and executing a new addr2line process. Each addr2line > process has to parse the dwarf info of the library it's given just to > find the location of one address. Multiply by the number of addresses, > and this can quickly become ridiculous. > > Perf, however, has an alternative implementation that just uses libbfd, > so it would be much faster than spawning a large amount of new > processes, each with a large overhead.
I found https://salsa.debian.org/kernel-team/linux/blob/master/debian/rules.d/tools/perf/Makefile#L27-31 This sucks badly :( I have some massive perf data that take *hours* to deal with without libbfd. With a reduced perf data, this is the kind of difference this makes: $ time perf script > /dev/null # addr2line real 3m8.718s user 1m12.606s sys 1m56.649s $ time perf script > /dev/null # libbfd real 0m4.141s user 0m3.425s sys 0m0.894s Mike

