PackageKit on speed

I spent a few days last week optimising PackageKit. I first added a couple of huge 350ms+ optimisations when using Hawkey.  Then I turned my attention to the daemon itself and after adding a lot of profiling hooks to packagekitd, I recoiled in horror the amount of time it took to do simple things that everyone assumed would be fast.

A lot of unused functionality that was hurting transaction start times was removed. Certain core string functions were made fractions of ms faster and transactions a few hundreds of ms quicker in a few places, etc. The final result is that everything feels rather much speedier. Time-critical features like command-not-found and search-as-you-type now actually feel useful.

$ time pkcon search name powertop &> /dev/null
real0m0.082s

If you want to try out the new hotness, install the Fedora 20 update, enable the new hawkey backend and make sure you give karma. There’s also no more Zif backend in PackageKit, as hawkey is now faster and more reliable for all operations.

Published by

hughsie

Richard has over 10 years of experience developing open source software. He is the maintainer of GNOME Software, PackageKit, GNOME Packagekit, GNOME Power Manager, GNOME Color Manager, colord, and UPower and also contributes to many other projects and opensource standards. Richard has three main areas of interest on the free desktop, color management, package management, and power management. Richard graduated a few years ago from the University of Surrey with a Masters in Electronics Engineering. He now works for Red Hat in the desktop group, and also manages a company selling open source calibration equipment. Richard's outside interests include taking photos and eating good food.

4 thoughts on “PackageKit on speed”

  1. after the PackageKit Hawkey i have this message in the terminal:

    Message from syslogd@localhost at Dec 3 23:06:02 …
    PackageKit:daemon start

    Message from syslogd@localhost at Dec 3 23:11:08 …
    PackageKit:daemon quit

    Message from syslogd@localhost at Dec 4 00:06:02 …
    PackageKit:daemon start

    Message from syslogd@localhost at Dec 4 00:06:05 …
    PackageKit:get-updates transaction /4034_bbcadddd from uid 1000 finished with success after 2046ms

    Message from syslogd@localhost at Dec 4 00:11:08 …
    PackageKit:daemon quit

    thanks

    F.

  2. Trying to test apper, updates seem to work ok, but trying to browse install groups yields an error: This function is not yet supported (and session error: Transaction::parseError: unknown error “org.freedesktop.DBus.Error.UnknownMethod”).

    Any clues what’s missing? (I’ll try to find out the exact dbus methods being called)

    1. Groups isn’t supported at all in hawkey, we don’t have access to the comps database yet. Apper needs to fall back if roles are not available. If you file a bug with apper I’ll talk to dantti about it today.

Comments are closed.