<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/cacheiterators.h, branch 1.2.6</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.2.6</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.2.6'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2016-01-07T18:59:08Z</updated>
<entry>
<title>Switch performance critical code to use APT::StringView</title>
<updated>2016-01-07T18:59:08Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-01-07T18:16:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=eff0c22e59e65b6b63e854ff41eb091278e05714'/>
<id>urn:sha1:eff0c22e59e65b6b63e854ff41eb091278e05714</id>
<content type='text'>
This improves performance of the cache generation on my
ARM platform (4x Cortex A15) by about 10% to 20% from
2.35-2.50 to 2.1 seconds.
</content>
</entry>
<entry>
<title>add messages to our deprecation warnings in libapt</title>
<updated>2015-11-27T14:40:47Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-11-27T14:40:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5dd00edbcf702cac1ea22392796c65881a8ef6f9'/>
<id>urn:sha1:5dd00edbcf702cac1ea22392796c65881a8ef6f9</id>
<content type='text'>
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>fix various typos reported by codespell</title>
<updated>2015-08-27T09:27:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-08-22T14:22:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3a8776a37af38127fb04565959e8e0e449eb04a4'/>
<id>urn:sha1:3a8776a37af38127fb04565959e8e0e449eb04a4</id>
<content type='text'>
Reported-By: codespell
</content>
</entry>
<entry>
<title>Drop the Section field from pkgCache::Package again</title>
<updated>2015-08-12T21:45:17Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-08-12T21:44:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a1dfe33790edda246a23a5c5d3c432cd8429e848'/>
<id>urn:sha1:a1dfe33790edda246a23a5c5d3c432cd8429e848</id>
<content type='text'>
This somehow got back, we don't really know why. Emulate the
Section() method in the PkgIterator by looking at the section
of the head of the VersionList.
</content>
</entry>
<entry>
<title>Drop C++11 elements from headers</title>
<updated>2015-08-11T11:59:15Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-08-11T09:49:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=350d30d24fee9a1aa5fedc7a30e7416999653417'/>
<id>urn:sha1:350d30d24fee9a1aa5fedc7a30e7416999653417</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hide implicit deps in apt-cache again by default</title>
<updated>2015-08-10T15:27:58Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-16T09:15:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8c7af4d4c95d0423fbd0f3baa979792504f4f45f'/>
<id>urn:sha1:8c7af4d4c95d0423fbd0f3baa979792504f4f45f</id>
<content type='text'>
Before MultiArch implicits weren't a thing, so they were hidden by
default by definition. Adding them for MultiArch solved many problems,
but having no reliable way of detecting which dependency (and provides)
is implicit or not causes problems everytime we want to output
dependencies without confusing our observers with unneeded
implementation details.

The really notworthy point here is actually that we keep now a better
record of how a dependency came to be so that we can later reason about
it more easily, but that is hidden so deep down in the library internals
that change is more the problems it solves than the change itself.
</content>
</entry>
<entry>
<title>remove the compatibility markers for 4.13 abi</title>
<updated>2015-08-10T15:27:58Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-15T11:21:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4dc77823d360158d6870a5710cc8c17064f1308f'/>
<id>urn:sha1:4dc77823d360158d6870a5710cc8c17064f1308f</id>
<content type='text'>
We aren't and we will not be really compatible again with the previous
stable abi, so lets drop these markers (which never made it into a
released version) for good as they have outlived their intend already.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>link DependencyData structs together</title>
<updated>2015-08-10T15:27:58Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-14T11:41:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b291aa59ee63983204d8aeb166c388b1f97edce7'/>
<id>urn:sha1:b291aa59ee63983204d8aeb166c388b1f97edce7</id>
<content type='text'>
Cache generation needs a way of quickly iterating over the unique potion
of the dependencies to be able to share them. By linking them together
we can reduce the speed penality (~ 80%) with only a small reduction in
saved size (~ 20%).

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>split-up Dependency struct</title>
<updated>2015-08-10T15:27:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-13T14:28:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=71c9e95b223517b5f51c4627f6ad4cce8af0d901'/>
<id>urn:sha1:71c9e95b223517b5f51c4627f6ad4cce8af0d901</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>avoid virtual in the iterators</title>
<updated>2015-08-10T15:27:18Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-07-13T21:10:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3707fd4faab3f2e2521263070b68fd0afaae2900'/>
<id>urn:sha1:3707fd4faab3f2e2521263070b68fd0afaae2900</id>
<content type='text'>
With a bit of trickery and the Curiously recurring template pattern we
can free us from our use of virtual in the iterators were it is unneeded
bloat as we never deal with pointers to iterators and similar such.

Git-Dch: Ignore
</content>
</entry>
</feed>
