SPIKE: Investigate why xz packaging on RPM platforms has poor performance

Summary

In !7128 (merged), we discovered that XZ package compression on RPM platforms takes approximately 2-3 times longer than on Debian platforms. This effect is consistent across all RPM platforms irrespective of architecture. In response, we disabled XZ packaging for RPM. We would like the ~300MB savings from using XZ if we can get it, so we should find out why the performance difference exists and fix it if we can.

Steps to reproduce

  1. Set compression_type :xz for RPM packages in config/projects/gitlab.rb
  2. Run a pipeline with the change and another without it
  3. Observe the Packaging time: line in a task for each pipeline and compare them

What is the current unexpected behavior?

For the same RPM distribution, the packaging time with XZ compression will be 2-3 times higher.

What is the expected correct behavior?

The packaging times with and without xz should be within a few percent of each other.

Edited by Ryan Egesdahl