Mailinglist Archive: zypp-devel (75 mails)

< Previous Next >
Re: [zypp-devel] zypper performance gone bad, bad, bad
  • From: Michael Andres <ma@xxxxxxx>
  • Date: Tue, 27 May 2008 13:18:44 +0200
  • Message-id: <20080527111844.GA31407@xxxxxxx>
On Mon, May 19, Michael Matz wrote:

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

Use ResPool::byIdent_iterator

ResPool::byIdentBegin( ResKind::package, name )
ResPool::byIdentEnd ( ResKind::package, name )


It's purpose is to iterate over all items with that name.

It's implemementation should be 'as fast as possible',
but no need for the application to know the details.
If it can be improved, all users will benefit.

(
ResPool::byIdent is actually based on an (Id->PoolItem) index.
The only index we maintain, and the implementation provided by
matz@ is reasonable fast ;)
)

--

cu,
Michael Andres

+------------------------------------------------------------------+
Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4
+------------------------------------------------------------------+
Michael Andres YaST Development ma@xxxxxxxxxx
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg)
Maxfeldstrasse 5, D-90409 Nuernberg, Germany, ++49 (0)911 - 740 53-0
+------------------------------------------------------------------+

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

< Previous Next >
Follow Ups