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

Florian Festi ffesti at redhat.com
Tue Dec 18 12:39:26 UTC 2007


OK, after some more tests I found some more tweaks to reduce both runtime 
and memory usage. I'd like to postpone the LRU cache stuff a bit but get the 
sqlitesack changes and the additional tweaks in fast.

They include:

  * SqliteSack
   * Use pkgKey instead of pkgId
   * Generate only one package object per package (Now fixed)
   * Load only minimal tags per default.
   * Create YumAvailablePackageSqlite._files and ._checksums on demand only
  * Package
   * Make Package.pkgtup a real tuple
   * Cache hash value

These changes affect all operations but installs see higher percentage 
changes as they do more Sqlite operations and only few operations on the rpmdb.

F8 full install
258MB -> 181MB (30%)
71.5s -> 44.1s (38%)

1000pkg install
97.5MB -> 80MB (18%)
22.8s -> 15.4s (33%)


Any objections?

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: 16714 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum-devel/attachments/20071218/32357f60/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Make-Package.pkgtup-a-real-tuple-to-save-memory-and.patch
Type: text/x-patch
Size: 2923 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum-devel/attachments/20071218/32357f60/attachment-0001.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-cache-hash-value-of-Package-objects.patch
Type: text/x-patch
Size: 1824 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum-devel/attachments/20071218/32357f60/attachment-0002.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-Create-YumAvailablePackageSqlite._files-and-._checks.patch
Type: text/x-patch
Size: 1342 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum-devel/attachments/20071218/32357f60/attachment-0003.bin 


More information about the Yum-devel mailing list