On Thu, Oct 19, 2017 at 08:50:19AM +0900, Mike Hommey wrote: > On Wed, Oct 18, 2017 at 07:29:52PM +0900, Mike Hommey wrote: > > Package: diffoscope > > Version: 87 > > Severity: normal > > > > Dear Maintainer, > > > > Today I was comparing firefox builds from mozilla CI with diffoscope, > > and it was taking an awful lot of time. Quick inspection revealed that > > this is largely due to objdump --line-numbers. Remove --line-numbers > > from the objdump command line created in ObjdumpDisassembleSection makes > > a huge difference: > > > > $ time diffoscope --html diff.html firefox{1,2}.tar.bz2 # unpatched > > real 58m48.870s > > user 62m41.966s > > sys 3m3.710s > > > > $ time diffoscope --html diff.html firefox{1,2}.tar.bz2 # patched > > real 7m19.159s > > user 7m42.558s > > sys 3m2.730s > > Some timings, fwiw: > > $ time objdump --disassemble --demangle --section=.text libxul.so > /dev/null > > real 0m23.431s > user 0m23.366s > sys 0m0.064s > > $ time objdump --line-numbers --disassemble --demangle --section=.text > libxul.so > /dev/null > > real 25m49.537s > user 25m49.191s > sys 0m0.308s
FWIW: $ llvm-objdump-4.0 --disassemble --section=.text libxul.so > /dev/null real 0m8.992s user 0m8.854s sys 0m0.112s $ time llvm-objdump-4.0 --line-numbers --disassemble --section=.text libxul.so > /dev/null real 0m19.738s user 0m19.461s sys 0m0.120s (on the same file as above, not actually containing debug info) but it doesn't support --demangle. Also, its --disassemble output has some formatting issues. Versions before 4.0 didn't support --line-numbers. Mike