Mailinglist Archive: zypp-devel (75 mails)

< Previous Next >
Re: [zypp-devel] zypper performance gone bad, bad, bad
  • From: Michael Matz <matz@xxxxxxx>
  • Date: Mon, 19 May 2008 15:21:03 +0200 (CEST)
  • Message-id: <Pine.LNX.4.64.0805191514120.20583@xxxxxxxxxxxxx>
Hi,

On Sun, 18 May 2008, josef reidiner wrote:

I still think, that the best way is different implementation for exact
matching (YaST use it (?) ). Good is same index on name (is something
liek that already exist on pool?) which can fast find by exact matching
like some tree(O(log(n))) or hashing (O(1)). Then when user choose from
UI e.g. 100 exact packaga for lock, you only need 100 quick look to
index during each start.

I never ever want to see libzypp needing many megabytes of RAM any more,
except if absolutely required. That's why I'm so against any indexes and
try to find solutions that wouldn't require any, or could make use of data
we already have.

For instance in this case: if we want to speedup searches for exact
package names (and only for names), then we can reuse the whatprovides
arrays. Every package N will have a provide "N = version", and the
provides _are_ indexed already by libsatsolver. There will potentially be
more packages also providing N, but that can be quickly sorted out.

So, the strategy would be:

make sure whatprovides index exist
for all solvables S in whatprovides[N]
if nameof(S) == N
found(S)


Ciao,
Michael.
--
To unsubscribe, e-mail: zypp-devel+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: zypp-devel+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups