Skip to content

GNOME Activity Journal gets major performance improvements

One of the big issues we had in with the Activity Journal was startup time and navigation time. After Michal Hruby kept nagging us on fixing the issue (we used him as the benchmarking measurement and performance profiling), Siegfried and I started working on these issues.

First Siegfried managed to fix the startup time by creating an extension for Zeitgeist that populates the histogram in the bottom. Querying events for 90 in days in one query per day makes itself noticeable, so his approach of a dedicated API from zeitgeist was the best solution. However it did not improve the navigation time.

After 2 days of work motivated by the romantic dinner Michal wants to buy me to fix the issue, we reached our goal. Here is what I did to improve the navigation:

  • Apply singleton pattern on GIO Files on each URI to reduce initializing a new ones for each event.
  • Lazy loading of UI elements. So if the category is not collapsed we don’t draw the elements.
  • Redraw only days that changed.
  • Unparent reuse gtk widgets when navigating.

Now the speed improvement is really remarkable. Here is a quick comparison. Each row represents the time in seconds to load a day view.

The new Activity Journal is at least 7.3 times faster than what we released last week. Funny enough even the memory consumption is less, due to the singeltons and lazy loading.

For a quick video check out this video

There will be a new release soon with the speed enhancements. Hope you like it.

Cheers

Seif

{ 8 } Comments

  1. Tom | September 6, 2010 at 1:29 am | Permalink

    So will Gnome3 ship this bag of awesome?(will you work on inclusion?)

  2. Seif Lotfy | September 6, 2010 at 1:33 am | Permalink

    We are working on inclusion of zeitgeist and extending applications to use zeitgeist. As for the Activity Journal I will try again to have it included into GNOME :)

  3. Barista Uno | September 6, 2010 at 10:42 am | Permalink

    More speed and resource-usage improvements like this and I’m going back to gnome from lxde. Great job!

  4. Victor | September 6, 2010 at 12:14 pm | Permalink

    Nice work, Steve!

  5. Stephan H. Wissel | September 8, 2010 at 5:31 pm | Permalink

    Excellent! Love it.
    Now how do we have to bribe you to package the additional Zeitgeist / Activity Journal data providers into a PPA, so the rest of us can try them too?

  6. Siegfried Gevatter | September 9, 2010 at 12:18 am | Permalink

    @ Stephan H. Wissel:
    I’ll look into that somewhen soon.

  7. Tamisha Kornbau | November 8, 2010 at 8:25 pm | Permalink

    big diary you latch on to

  8. Allison Eader | November 23, 2010 at 8:36 am | Permalink

    http://addstar.net/forum/profile.php?mode=viewprofile&u=210236

{ 2 } Trackbacks

  1. [...] Seif Lotfy [...]

  2. GNOME Activity Journal goes on steroids | September 6, 2010 at 3:35 pm | Permalink

    [...] You can read more about the details here… [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *