Bug#879003: diffoscope: objdump --line-numbers makes diffoscope *very* slow

Mike Hommey mh+reportbug at glandium.org
Wed Oct 18 10:29:52 UTC 2017

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


-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.13.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8), LANGUAGE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages diffoscope depends on:
ii  python3                3.6.3-1
ii  python3-distro         1.0.1-2
ii  python3-libarchive-c   2.1-3.1
ii  python3-magic          1:5.32-1
ii  python3-pkg-resources  36.2.7-2

Versions of packages diffoscope recommends:
ii  acl                       2.2.52-3+b1
pn  apktool                   <none>
pn  binutils-multiarch        <none>
ii  bzip2                     1.0.6-8.1
pn  caca-utils                <none>
ii  colord                    1.3.3-2
pn  device-tree-compiler      <none>
pn  docx2txt                  <none>
pn  enjarify                  <none>
pn  fontforge-extras          <none>
pn  fp-utils                  <none>
pn  genisoimage               <none>
ii  gettext         
pn  ghc                       <none>
ii  ghostscript               9.22~dfsg-1
pn  giflib-tools              <none>
ii  gnupg                     2.2.1-2
pn  imagemagick               <none>
pn  jsbeautifier              <none>
pn  libarchive-tools          <none>
pn  llvm                      <none>
pn  mono-utils                <none>
pn  odt2txt                   <none>
pn  oggvideotools             <none>
ii  openjdk-7-jdk [java-sdk]  7u121-2.6.8-1
ii  openjdk-8-jdk [java-sdk]  8u144-b01-2
ii  openssh-client            1:7.6p1-2
pn  pdftk                     <none>
pn  pgpdump                   <none>
pn  poppler-utils             <none>
pn  python3-argcomplete       <none>
ii  python3-binwalk           2.1.1-16
ii  python3-debian            0.1.31
ii  python3-defusedxml        0.5.0-1
pn  python3-guestfs           <none>
pn  python3-progressbar       <none>
pn  python3-rpm               <none>
pn  python3-tlsh              <none>
pn  r-base-core               <none>
ii  rpm2cpio        
pn  sng                       <none>
ii  sqlite3                   3.20.1-1
ii  squashfs-tools            1:4.3-4
ii  tcpdump                   4.9.2-1
ii  unzip                     6.0-21
ii  vim-common                2:8.0.1144-1
ii  xxd                       2:8.0.1144-1+b1
ii  xz-utils                  5.2.2-1.3

Versions of packages diffoscope suggests:
ii  libjs-jquery  3.2.1-1

-- no debconf information

More information about the Reproducible-builds mailing list