<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt, branch 1.1.7</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.1.7</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.1.7'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2015-12-26T18:11:10Z</updated>
<entry>
<title>Release 1.1.7</title>
<updated>2015-12-26T18:11:10Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-12-26T18:10:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=25203cbbed0b7ebc3eb75fa96ab3ed53be148168'/>
<id>urn:sha1:25203cbbed0b7ebc3eb75fa96ab3ed53be148168</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Get rid of memmove() in our read buffering</title>
<updated>2015-12-26T16:38:40Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-12-26T16:38:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=83e22e26f9f10472aed97f889967c86ee218d28d'/>
<id>urn:sha1:83e22e26f9f10472aed97f889967c86ee218d28d</id>
<content type='text'>
This further improves our performance, and rred on uncompressed
files now spents 78% of its time in writing. Which means that
we should really look at buffering those.
</content>
</entry>
<entry>
<title>rred: Allow passing files as arguments for compressor testing</title>
<updated>2015-12-26T14:29:00Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-12-26T14:25:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=46cddb8c1a393cc7d03fbd897f2504ae9f47179d'/>
<id>urn:sha1:46cddb8c1a393cc7d03fbd897f2504ae9f47179d</id>
<content type='text'>
This introduces a -t mode in which the first argument is input,
the second is output and the remaining are diffs.

This allows us to test patching compressed files, which are
detected using their file extension.
</content>
</entry>
<entry>
<title>Use a hardcoded buffer size of 4096 to fix performance</title>
<updated>2015-12-26T13:49:00Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-12-26T13:49:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0b29c72bdfc1466d47567cc3191b9661f81d3d3f'/>
<id>urn:sha1:0b29c72bdfc1466d47567cc3191b9661f81d3d3f</id>
<content type='text'>
The code uses memmove() to move parts of the buffer to the
front when the buffer is only partially read. By simply
reading one page at a time, the maximum size of bytes that
must be moved has a hard limit, and performance improves:

In one test case, consisting of a 430 MB Contents file,
and a 75K PDiff, applying the PDiff previously took about
48 seconds and now completes in 2 seconds.

Further speed up can be achieved by buffering writes, they
account for about 60% of the run-time now.
</content>
</entry>
<entry>
<title>Mark all FileFdPrivate classes as hidden</title>
<updated>2015-12-24T16:14:15Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-12-24T16:14:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=65ac6aad5f707849a127202f808d087d1fcaddc9'/>
<id>urn:sha1:65ac6aad5f707849a127202f808d087d1fcaddc9</id>
<content type='text'>
Gbp-Dch: ignore
</content>
</entry>
<entry>
<title>1.1.6 Christmas release</title>
<updated>2015-12-24T16:03:21Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2015-12-24T16:03:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3ac050d1ccfa33dbed236a565511fd3fe84b8465'/>
<id>urn:sha1:3ac050d1ccfa33dbed236a565511fd3fe84b8465</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix new[] vs delete mismatch introduced by b3db9d81</title>
<updated>2015-12-23T18:42:53Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-12-23T18:42:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=117551478551958d62d9555c595f2990805137c0'/>
<id>urn:sha1:117551478551958d62d9555c595f2990805137c0</id>
<content type='text'>
And as we are at it lets fix the 'style' issue I introduced with the
filefd changes as well.

Reported-By: gcc -fsanitize's &amp; cppcheck
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>ensure we got a lock in clean operation</title>
<updated>2015-12-23T16:48:16Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-12-23T16:48:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8d968cc2d1e11da81f3bab878c1a413a97ca27ed'/>
<id>urn:sha1:8d968cc2d1e11da81f3bab878c1a413a97ca27ed</id>
<content type='text'>
We try to acquired the locks, but we didn't stop if we failed to get it…

Closes: 808561
</content>
</entry>
<entry>
<title>use a dynamic buffer for ReadLine</title>
<updated>2015-12-23T16:16:13Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-12-23T16:16:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b3db9d81325769fb9d9c6518f9d917f90328bef1'/>
<id>urn:sha1:b3db9d81325769fb9d9c6518f9d917f90328bef1</id>
<content type='text'>
We don't need the buffer that often - only for ReadLine - as it is only
occasionally used, so it is actually more efficient to allocate it if
needed instead of statically by default. It also allows the caller to
influence the buffer size instead of hardcoding it.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>implement a buffer system for FileFd::ReadLine</title>
<updated>2015-12-23T15:42:12Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2015-12-23T15:42:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f63123c385738b059cd854b694a0f62558fb8cbe'/>
<id>urn:sha1:f63123c385738b059cd854b694a0f62558fb8cbe</id>
<content type='text'>
The default implementation of ReadLine was very naive by just reading
each character one-by-one. That is kinda okay for libraries implementing
compression as they have internal buffers (but still not great), but
while working with files directly or via a pipe as there is no buffer
there so all those reads are in fact system calls.

This commit introduces an internal buffer in the FileFd implementation
which is only used by ReadLine. The more low-level Read and all other
actions remain unbuffered – they just changed to deal with potential
"left-overs" in the buffer correctly.

Closes: 808579
</content>
</entry>
</feed>
