f20 - yum locally rebuilding deltas is so slow
jdieter at lesbg.com
Fri Dec 20 06:31:13 UTC 2013
On Thu, 2013-12-19 at 16:43 -0700, Chris Murphy wrote:
> On Dec 19, 2013, at 4:14 PM, T.C. Hollingsworth <tchollingsworth at gmail.com> wrote:
> > On Thu, Dec 19, 2013 at a4:01 PM, Chris Murphy <lists at colorremedies.com> wrote:
> >> Does anyone know exactly what's happening during the rebuild? I
> >> understand from light documentation how deltarpm works, what I'm
> >> not sure is if most of the time is spent reconstructing a virtual
> >> oldrpm from an installed rpm, or applying the delta, or writing out
> >> the new install?
> > It reconstructs a real honest-to-God RPM file that must match the
> > shasum/GPG sig of the old one exactly, lest it be thrown out.
> That sounds time consuming. I bet that's the big hit.
It is. The worst part is that the rebuilt rpm has to also be compressed
using exactly the same compression level as the original. The xz
compression format (which is what Fedora's rpms use) is designed to be
fast at decompression, but is pretty slow at compression, which slows
down the rebuild time.
To answer your original question, applydeltarpm never reconstructs a
virtual oldrpm. Rather, it grabs the necessary bytes from the files on
disk as it applies the delta. This process is hard on IO, but isn't
very CPU-intensive. Building the new rpm, for the reasons listed
earlier, is hard on the CPU.
More information about the users