On 08/06/2014 03:01 PM, Michael Schroeder wrote:
Hi Panu et al,
Hi, back from vacation...
attached are two patches to make dependency solving faster/more correct. The first one switches the "installed file conflicts" cache from complete file names to base names, to make fingerprinting work for them. The second one is the more interesing one, it adds a "installed file requires" cache. This cache is only created at the start of rpmtsCheck(), so it is most useful for big transactions. It is used to prune the filelist of the erased packages. Some numbers from my system: $ rpm -ql ddd | wc -l 51 $ rpm -ql kernel-source | wc -l 31128 With cold caches: - erase ddd complete dependency check: 27ms - erase ddd with requires cache cache creation: 16ms, complete dependency check: 30ms - erase kernel-source complete dependency check: 72ms - erase kernel-source with requires cache cache creation: 16ms, complete dependency check: 33ms With hot caches: - erase ddd complete dependency check: 0ms - erase ddd with requires cache cache creation: 2ms, complete dependency check: 2ms - erase kernel-source complete dependency check: 44ms - erase kernel-source with requires cache cache creation: 2ms, complete dependency check: 8ms So it's a very little bit slower for small packages, but helps a lot for big packages or big transactions.
Cool. Both applied, thanks! - Panu - _______________________________________________ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint