Re: dpkg list-file performance

2009-08-31 Thread sean finney
hi guys, On Mon, Aug 31, 2009 at 03:17:35AM -0400, David Benjamin wrote: > >I also remember some experimental work of Sean Finney who put a cache in > >a sqlite db. You might be interested to look up in Google and/or in the > >BTS if you can find out this old patch. > > Thanks! I will look at thi

Re: dpkg list-file performance

2009-08-31 Thread David Benjamin
On 08/31/2009 02:19 AM, Raphael Hertzog wrote: --install will also install a new .list file and updating a single big file containing the full list of files would not be very efficient when done multiple times in a single apt-get run. This is true, which is why I do not think tar is a good solu

Re: dpkg list-file performance

2009-08-30 Thread Raphael Hertzog
On Sun, 30 Aug 2009, David Benjamin wrote: > From what I can tell, dpkg's primary operations to the list-files do > not correspond to "given a package, what did it install"? The > current implementation will often read in everything, which *.list > is bad at. The point of reading them all in seems

Re: dpkg list-file performance

2009-08-30 Thread David Benjamin
On 08/30/2009 09:28 AM, Cyril Brulebois wrote: David Benjamin (29/08/2009): The current list-files are good for the query "given a package, what did it install". They also have fairly fast updates. However, they are extremely poorly suited for the query "given a file, what package(s) installed

Re: dpkg list-file performance

2009-08-30 Thread Cyril Brulebois
David Benjamin (29/08/2009): > The current list-files are good for the query "given a package, what > did it install". They also have fairly fast updates. However, they > are extremely poorly suited for the query "given a file, what > package(s) installed it" or if you need to read it all in at >

dpkg list-file performance

2009-08-29 Thread David Benjamin
Hi, So, I've been having difficulties with dpkg's performance on cold disk cache. dpkg's list files in /var/lib/dpkg/info are inefficient. Before doing most operations, dpkg calls ensure_allinstfiles_available() which reads in the contents of each file into a global hash table. As there are t