Hi, On Fri, 16 May 2008, josef reidiner wrote:
Stephan Kulow napsal(a):
Hi,
Looks like the implementation of locks has all the old problems ;(
I cancelled the callgrind call, but till then it called 415 826 times PoolQueryIterator::matchSolvable, which in turn costed 28 382 428 146 instructions.
Greetings, Stephan
Locks depends on PoolQuery which uses DataIterator...if we expect lot of locks from ui, which is exact string match, then we can optimalize PoolQuery (or directly locks by extracting information about lock from query) for this (e.g. using index on names).
Nah. The problem seems to be that right now PoolQuery wants to match strings on it's own instead of letting it be done by the DataIterator, so it has to iterate over all solvables itself, and somewhere there must be a bug that leads to actually viting all solvables again leading to quadraticness. There's clearly something going very wrong in PoolQuerys use of the DataIterator, I see it in gdb. Ciao, Michael. -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org