Reduce zlib compression level for massive performance increase
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Apport |
Fix Released
|
Undecided
|
Brian Murray | ||
apport (Ubuntu) |
Fix Released
|
Medium
|
Brian Murray | ||
Eoan |
Fix Released
|
Medium
|
Brian Murray |
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.
Related branches
tags: | added: rls-x-incoming |
Changed in apport (Ubuntu): | |
status: | Confirmed → Triaged |
importance: | Undecided → Medium |
Changed in apport: | |
status: | New → In Progress |
assignee: | nobody → Brian Murray (brian-murray) |
Changed in apport (Ubuntu Eoan): | |
assignee: | nobody → Brian Murray (brian-murray) |
status: | Triaged → In Progress |
Status changed to 'Confirmed' because the bug affects multiple users.