Dan McGee wrote:
I think most of this thread is the wrong approach to the problem. Rather than try to meld the DB to fit pacman, we should just swap out DBs so it doesn't have these bad worst-case conditions.
$ du -sh --apparent-size local/ sync/* 15M local/ 8.4M sync/community 31K sync/community-testing 812K sync/core 11M sync/extra 302K sync/testing
With those numbers in mind, we're talking about ~30 to ~35 MB of raw text data here. That is not a lot of data; most hard drives have at least ~30 MB/sec performance so this whole mess could be read in under a second if it was stored in a single file. So that would be one way of thinking about the issue differently.
Has anyone looked at the idea of using a single tarball for each db recently? From memory, most of the issues of treating the reading from archives in a style like a file stream had been solved when looking at changelogs. Having said that, I have not looked at that code since it was implemented... Allan