[Yum-devel] Reducing yum startup times and memory usage

seth vidal skvidal at phy.duke.edu
Tue Jan 11 06:58:45 UTC 2005


> Sorry that I didnt make clear that I was only talking about
> primary.xml.gz. You're right about the changelogs they are not in
> primary.xml.gz but the other things that I've mentioned (ie
> build-time, summary, list of requirements, etc) are.

yep.


> I understand that primary.xml.gz contains the stuff that is enough for
> 90% of all actions and that is a good thing, I'm not suggesting to
> replace the contents of any of the xml files I think they are a very
> good framework for the meta-data.

They might be a bit heavy - but it's funny, if you do the import/read of
the data using xmlint, for example, the time to parse all of the
primary.xml file is utterly trivial. 



> I'm just proposing to do something different at startup, i.e. not to
> load a snapshot of the entire parsed primary.xml.gz as it most likely
> contains information that is not needed. For example there is no need
> to load all prco information into memory for a simple list updates.

Except that the request is already in to be able to provide:
yum install /usr/bin/somebinary

and install the package that provides /usr/bin/somebinary

I'm not worried about that though. In the 90% of cases what you're
describing will be great. I'm just explaining the oddball cases to look
out for.



> Another question, is the requires information in primary.xml.gz ever
> used in the current yum implementation? As I understand it yum uses
> only the provides and files information from primary.xml and takes the
> requires from the actual downloaded rpm header for the rest, is this
> correct? Does the same hold for conflicts?

No.

Requires, conflicts, obsoletes, etc - are looked at by yum from
metadata. We use rpm to help us out with what is needed but more and
more I'm moving away from that to letting yum figure stuff out on its
own. Mostly b/c there are times when we need more info than rpm normally
provides.

-sv





More information about the Yum-devel mailing list