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@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org