]> git.saurik.com Git - apt.git/commit
split-up Dependency struct
authorDavid Kalnischkies <david@kalnischkies.de>
Mon, 13 Jul 2015 14:28:21 +0000 (16:28 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Mon, 10 Aug 2015 15:27:18 +0000 (17:27 +0200)
commit71c9e95b223517b5f51c4627f6ad4cce8af0d901
treeb10de544871f4d7c2d58cd202d310072f85444be
parentfd23676e809b7fa87ae138cc22d2c683d212950e
split-up Dependency struct

Having dependency data separated from the link between version/package
and the dependency allows use to work on sharing the depdency data a bit
as it turns out that many dependencies are in fact duplicates. How many
are duplicates various heavily with the sources configured, but for a
single Debian release the ballpark is 2 duplicates for each dependency
already (e.g. libc6 counts 18410 dependencies, but only 45 unique). Add
more releases and the duplicates count only rises to get ~6 for 3
releases. For each architecture a user has configured which given the
shear number of dependencies amounts to MBs of duplication.

We can cut down on this number, but pay a heavy price for it: In my
many releases(3) + architectures(3) test we have a 10% (~ 0.5 sec)
increase in cache creationtime, but also 10% less cachesize (~ 10 MB).

Further work is needed to rip the whole benefits from this through, so
this is just the start.

Git-Dch: Ignore
apt-pkg/cacheiterators.h
apt-pkg/depcache.cc
apt-pkg/pkgcache.cc
apt-pkg/pkgcache.h
apt-pkg/pkgcachegen.cc
cmdline/apt-cache.cc