← Back to team overview

desktop-packages team mailing list archive

[Bug 1537635] [NEW] Reduce zlib compression level for massive performance increase

 

Public bug reported:

When apport takes a core dump of a large application, it uses 100% CPU
for a _long_ time (often 30 seconds or more) to compress the core dump.
The system is virtually unusable during this time, especially if the
application was the window manager and won’t be restarted until the core
dump is complete.

This is a longstanding known problem; it motivated the switch from bzip2
to zlib level 9 back in apport 0.24. That made it much better, but it’s
still quite bad. So why not switch from zlib level 9 to zlib level 1?

I tested this on a core dump of gnome-shell, and while it increased the
size of the .crash file by 24% (68.5 MB to 85.0 MB), it decreased the
needed CPU time by a FACTOR OF EIGHT (58.6 seconds to 7.3 seconds). This
tradeoff seems more than worthwhile for this use case.

** Affects: apport
     Importance: Undecided
         Status: New

** Affects: apport (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: patch

** Patch added: "apport_2.19.3-0ubuntu3_zlib-level-1.debdiff"
   https://bugs.launchpad.net/bugs/1537635/+attachment/4556055/+files/apport_2.19.3-0ubuntu3_zlib-level-1.debdiff

** Tags added: patch

** Also affects: apport
   Importance: Undecided
       Status: New

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

Title:
  Reduce zlib compression level for massive performance increase

Status in Apport:
  New
Status in apport package in Ubuntu:
  New

Bug description:
  When apport takes a core dump of a large application, it uses 100% CPU
  for a _long_ time (often 30 seconds or more) to compress the core
  dump. The system is virtually unusable during this time, especially if
  the application was the window manager and won’t be restarted until
  the core dump is complete.

  This is a longstanding known problem; it motivated the switch from
  bzip2 to zlib level 9 back in apport 0.24. That made it much better,
  but it’s still quite bad. So why not switch from zlib level 9 to zlib
  level 1?

  I tested this on a core dump of gnome-shell, and while it increased
  the size of the .crash file by 24% (68.5 MB to 85.0 MB), it decreased
  the needed CPU time by a FACTOR OF EIGHT (58.6 seconds to 7.3
  seconds). This tradeoff seems more than worthwhile for this use case.

To manage notifications about this bug go to:
https://bugs.launchpad.net/apport/+bug/1537635/+subscriptions