Development and pending features
Anders F Björklund
afb at algonet.se
Tue Aug 12 06:28:23 PDT 2008
Gustavo Niemeyer wrote:
>> The main problem is that the extra data for the changelog bloats
>> the cache.
>> While the filelists are only added to fulfill file dependencies,
>> this adds
>> overhead to every single package which makes cache loading even
>> slower...
>> To be more useful, it would be nicer if this could be done "on
>> demand" ?
>
> Indeed.. the whole changelog can't be put in memory for every
> package. The
> on demand logic is supposed to be implemented with PackageInfo
> instances.
> Some of them actually are, but there might be some backend which keeps
> data in memory.
I naively added them as arrays to the PackageInfo (filelists and other)
def __init__(self, package, loader, info, pathlist=[], changelog=
[]):
PackageInfo.__init__(self, package)
self._loader = loader
self._info = info
self._pathlist = pathlist
self._changelog = changelog
def getPathList(self):
return self._pathlist
def getChangeLog(self):
return self._changelog
When using Yum, these are loaded on-demand from the sqlite md
information.
But when not using file provides/requires (as per Fedora packaging
policy)
and when not using the yum-changelog plugin, usually "primary" is
enough*.
So it doesn't even download the "filelists" or "other" metadata,
normally.
The loading of "comps" or "updateinfo" metadata isn't really a
problem, as
those two are much smaller. But filelists+other is about 5-10x
primary...
--anders
* by definition, "primary" includes files under the RE:
['.*bin\/.*', '^\/etc\/.*', '^\/usr\/lib\/sendmail$']
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: metadata-sizes.txt
URL: <http://lists.labix.org/pipermail/smart-labix.org/attachments/20080812/4ff6f2a9/attachment-0001.txt>
More information about the Smart
mailing list