[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

APT 1.2 preview uploaded to experimental -- please test



Good moo,

I just uploaded APT 1.2~exp1 to experimental. This release includes
the following highlights:

* Automatic removal of debs after install for apt(8)
* LZ4 support
* Recompression of indices
* Parallel rred
* Further 15% performance gain in cache generation

It should hit the archive with the next dinstall run.

It will be uploaded to unstable in the coming days, we only want to
get some testing and fix some other bugs from unstable first.

Automatic removal of debs after install
=======================================
After packages are successfully installed by apt(1),
the corresponding .deb package files will be
removed from the /var/cache/apt/archives cache directory.

This can be changed by setting the apt configuration option
    "APT::Keep-Downloaded-Packages" to "true". E.g:

# echo 'APT::Keep-Downloaded-Packages "true";' \
      > /etc/apt/apt.conf.d/01keep-debs

Please note that the behavior of apt-get is unchanged. The
downloaded debs will be kept in the cache directory after they
are installed.

LZ4 support
============
APT now supports LZ4 compression. This allows Contents files
to be compressed much faster with the following change.

Locally Compressed indices
==========================
If you use Acquire::gzipIndexes, or any other compressed index targets,
those will now be compressed with the fastest supported algorithm,
currently lz4.

This especially applies to apt-file and the Contents files.

Parallel rred
=============
APT will now launch upto CPU count * 2 instances of the rred method,
but not more than 10 (there's a hidden Config option to enable more).

This also improves performance of Contents files a lot.

Cache generation improvement
============================
The cache generation now uses string views instead of strings, meaning
that we do not create temporary copies of strings anymores. Depending
on how fast your system can copy memory, this might result in impressive
performance gains. I've seen good gains in ARM.

This work was inspired by the APT patches that are used in the backend
of Cydia, a package manager for jailbroken iOS devices.

We also now use a hash table size of 50503 instead of 15013, and store
length of strings in the cache.

As a summary of performance gains:

Device 1: ThinkPad X230, Core i5-3320M, 8GB Dual-Channel RAM

	1.1.8:    1.8 seconds
	1.1.9:    1.5 seconds
	1.1.10:   1.4 seconds
	1.2~exp1: 1.2 seconds

Device 2: Acer Chromebook 13, Tegra K1, 4GB RAM

	1.1.8:    3.0 seconds
	1.1.10:   2.5 seconds
	1.2~exp1: 2.0 seconds

So roughly speaking, we only take 2/3 of the time now compared
to 1.1.8 after which I started optimising the code.

-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.

When replying, only quote what is necessary, and write each reply
directly below the part(s) it pertains to (`inline'). Thank you.


Reply to: