** Changed in: firefox (Debian)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to firefox in Ubuntu.
https://bugs.launchpad.net/bugs/1694425

Title:
  performance critical libyuv built with Os

Status in firefox package in Ubuntu:
  New
Status in firefox package in Debian:
  Confirmed

Bug description:
  Imported from Debian bug http://bugs.debian.org/863672:

  This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
  --aN5BOcfPQ1wkI3kOWF0Bpe7cmio8VfIEp
  Content-Type: multipart/mixed; boundary="SrbvOHijIbL538GHuOsAk6jhGEBxW5ENR";
   protected-headers="v1"
  From: Julian Taylor <jtaylor.deb...@googlemail.com>
  To: Debian Bug Tracking System <sub...@bugs.debian.org>
  Message-ID: <009ef781-1692-0d59-4b28-1742166ba...@googlemail.com>
  Subject: performance critical libyuv built with Os

  --SrbvOHijIbL538GHuOsAk6jhGEBxW5ENR
  Content-Type: text/plain; charset=utf-8
  Content-Language: en-GB
  Content-Transfer-Encoding: quoted-printable

  Package: firefox
  Version:  53.0.is.52.0.2-1
  Severity: normal

  
  libyuv which is a performance critical library for firefix is built with
  -Os which is horrible for performance for it.
  In particular row_common.cc which contains the generic parts of the
  color transformation code:

  See:
  https://buildd.debian.org/status/fetch.php?pkg=3Dfirefox&arch=3Damd64&ver=
  =3D53.0.is.52.0.2-1&stamp=3D1492644908&raw=3D0

  /usr/bin/g++ -std=3Dgnu++11 -o row_common.o -c  ...   -fPIC
  -DMOZILLA_CLIENT -include
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/build-browser/mozilla-config.h -MD -MP -MF
  =2Edeps/row_common.o.pp -Wdate-time -D_FORTIFY_SOURCE=3D2 -Wall
  -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual
  -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code
  -Wwrite-strings -Wno-invalid-offsetof -Wc++14-compat
  -Wno-error=3Dmaybe-uninitialized -Wno-error=3Ddeprecated-declarations
  -Wno-error=3Darray-bounds -fno-lifetime-dse -fstack-protector-strong
  -Wformat -Werror=3Dformat-security -fno-schedule-insns2 -fno-lifetime-dse=

  -fno-delete-null-pointer-checks -fno-exceptions -fno-strict-aliasing
  -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions
  -fno-math-errno -pthread -pipe  -g -freorder-blocks -Os
  -fomit-frame-pointer
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/media/libyuv/source/row_common.cc

  
  The problematic part is the YuvPixel function which is called in loops
  and in turn calls tiny clamp functions.
  Os disables inlining so this causes massive overhead.
  This is the top cpu profile on sites which e.g. display videos.
    17.25%  libxul.so                   [.] YuvPixel        =E2=96=92
     6.58%  libxul.so                   [.] Clamp           =E2=96=92
     6.46%  libxul.so                   [.] clamp255

  The problem is not as bad as it looks as this generic code is only
  executed on machines that do not have SSSE3, AVX2 or NEON (see
  convert_argb.cc)
  But there are still plenty useful cpus that do not have these
  instruction sets and are crippled by the compiler flags used.

  Is it possible to compile this library with O3 to allow the compiler to
  vectorize it with the best available generic instruction set (e.g. SSE2
  on x64).

  cheers,
  Julian Taylor

  
  --SrbvOHijIbL538GHuOsAk6jhGEBxW5ENR--

  --aN5BOcfPQ1wkI3kOWF0Bpe7cmio8VfIEp
  Content-Type: application/pgp-signature; name="signature.asc"
  Content-Description: OpenPGP digital signature
  Content-Disposition: attachment; filename="signature.asc"

  -----BEGIN PGP SIGNATURE-----

  iQI7BAEBCAAlBQJZLI9HHhxqdGF5bG9yLmRlYmlhbkBnb29nbGVtYWlsLmNvbQAK
  CRAyzEqsAodW/yfHD/0ZBE3JGMGPM/yD3HNR4EslXMGKHxoT6JowG5TWI9UHy+5U
  utj6vgrZ3hDEefGbI+UCDPehDK8tAlSTCI/wFxuqOO4+AB7EQia4bA2Agt7f3xfV
  Y458uBPG860j7AEhgAtLHGN5TAZUwN5jegXj12qBtR1wCrk5gBCRDC6+wy+cqiE6
  tApXdeM+3XsdYBS7udezJkw6NyhzMhiRebEwnB9wpztBIz/GSDxaftF0zLmrN4b8
  CYNVPH426/YAbDkzzAphKJnlcLoELxeU42xVd2G34rPA8NoDbuw2J3ZV4oIGi+/v
  S2XZsLkmcxFRb8JndfuayQtuGyMziPs4W2QDn3sZsh350hg77+V9/hYosxfnQc5d
  Eetuu4rX4dGLdGFmq2fkrsB08G37Z6kl31B1TtvenZ2ejSGWoxc1gkHVmFfSDmCk
  nfzuM5m+T518+7WZJ1HbEzI3ISQz1KtrKRPHLQi73N0qMRk6JZe4u3FVAOdxJYx9
  QYqEKYaGLVMa3A3Nuwtn3QI4bXC3OoJSdHEl5wxDUV/zvruAsFhWYKl9QjqNo8Zn
  2UWbr/hd3+2Lv/vVJLBr41AISi/6Ybs47FnloIqvEMlQDxlf1d4e2fLoqmal0oFv
  QT3mIXWjBmf0f52tsYSRGNw4OiYPx/6iaMET9WhQm8K5lKSTgkjv04s9cad90A==
  =P1R4
  -----END PGP SIGNATURE-----

  --aN5BOcfPQ1wkI3kOWF0Bpe7cmio8VfIEp--

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1694425/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to