The new feature will also be implemented in Ubuntu

Dec 28, 2015 20:45 GMT  ·  By

Debian developer and Ubuntu member Julian Andres Klode wrote an interesting blog post a couple of days ago, where he talks about an upcoming feature of the APT package manager.

As many of you might know, APT (also known as Advanced Package Tool) is the default package management utility for the Debian GNU/Linux operating system, which is also used in any Debian-based distribution, such as Ubuntu Linux.

Julian Andres Klode explains on his recent blog post how he managed to improve the performance for uncompressed files in APT, which proved to be quite slow when applying the Pdiffs files, a perceptual diff format used for DEB packages, sources, and other files.

"The reason for this is that our I/O is unbuffered, and we were reading one byte at a time in order to read lines," said Julian Andres Klode. "After some further look into the code, I noticed that we set the length of the buffer using the length of the line."

On December 24, 2015, Julian Andres Klode managed to add read buffering for reading lines to APT, thus greatly improving the performance of rred. However, the change was still slow, and he had to profile the rred method against an uncompressed Contents file of 430MB in size with a 75 KB large patch.

apt-get update should be a lot faster now

The new changes brought to recent versions of APT, starting with 1.1.7, show impressive performance improvements when using the apt-get update command to update a Debian-based operating system with PDiffs enabled.

To better understand, running apt-get update with APT 1.1.6 took 41 seconds without the new feature, and only 4 seconds with APT 1.1.7 and the new performance improvements. Updating with PDiffs disabled took 20 seconds, and the developer thinks that there’s no reason not to use them.