[Yum-devel] [PATCH] Delta and global FileRequires Resolving

Florian Festi ffesti at redhat.com
Tue Mar 20 15:06:11 UTC 2007


Hi!

I was curious if all these ideas really translate into a performance 
improvement. Attached patch reenables delta resolving and resolves 
FileRequires globally.

Delta Resolving:
I moved the delta list into the TransactionData object to get really all 
changes (got caught by the installonlyn plugin). Now packages are only 
removed from the delta if there are no unresolved dependencies. This reliefs 
the depsolver from having to perfectly solve everything (see rev 1.138 of 
depsolver.py)

I am still a bit unsure about TransactionData.remove(). To make delta 
resolving work removed installs have to be treated as removes. Can this 
currently happen at all?

Global File Require Resolving:
Most stuff about it is already said. Current implementation always checks 
file requirements. This could be avoided if there are no erases/updates 
since the last successful (everything ok) run.

On my PC "echo n |yum update" is now appr. 100% faster when trying
to update 60 pkgs. Larger and more complicated cases or packages with lots 
of files may gain even more.

When I create PkgPrco indices in the sqlite I get another 7% speed up which 
is not much but not surprising as we only load a few pkg from the sqlite db.

have fun

	Florian

PS: I have the feeling that the yum sqlite db interface is slow. It might be 
a problem of either generating a cursor on every search or/and pkgId=pkgKey 
merge. But didn't do any measurements yet.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: yum-delta-filerequires.diff
Type: text/x-patch
Size: 10104 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum-devel/attachments/20070320/02489ed0/attachment.bin 


More information about the Yum-devel mailing list