[Yum-devel] [PATCH][RFC] Optimizing SqliteSack

Florian Festi ffesti at redhat.com
Fri Dec 14 10:52:58 UTC 2007


Hi!

I started moving the sqlite sack to operate on pkgKey (table index) instead 
of pkgId (rpm hash value) quite a while ago - in fact this was one of the 
first things I've done in yum.  While some changes are already upstream some 
of these changes are still pending.

The first patch changes a lot of SQL statements and adds a per pkgKey 
package cache that makes sure we load every pkg only once and per pkgKey 
excludes.

The second patch adds an Least Recently Used list library and uses it to 
keep only a limited amount of PRCOs in memory at a time.

The overall memory saving is 85MB (33%) for an F8 full install and 19MB 
(20%) for a 1000 pkg install. Runtime is reduced by 10-20%.

The LRU lib is LGPLv2.1. If we want to use it we have to decide whether we 
want to include it or package it for Fedora.

Florian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Move-most-operation-to-be-based-on-pkgKey-instead-of.patch
Type: text/x-patch
Size: 16236 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum-devel/attachments/20071214/c42f755c/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Use-Least-Recently-Used-lists-for-PRCO-to-save-memor.patch
Type: text/x-patch
Size: 31970 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum-devel/attachments/20071214/c42f755c/attachment-0001.bin 


More information about the Yum-devel mailing list