Slingshot makes disk lookups on every reveal [$20]

Bug #1216584 reported by Sergey "Shnatsel" Davidoff
26
This bug affects 7 people
Affects Status Importance Assigned to Milestone
Slingshot
Fix Released
Medium
Unassigned

Bug Description

Following up on bug 1043689, Slingshot's startup time has improved, but it still makes a number of synchronous disk lookups every time it's revealed. This should not be necessary.

The main problem is that Slingshot performs 38 stat() calls, mostly on icon dirs, that cause HDD spin-up and multiple HDD seeks. This may take a while and slows down workflow.

Instead of checking directory presence on every reveal Slingshot should only check their presence on startup and then use inotify-based watches to monitor their presence passively.

The secondary problem are 4 open() and access() syscalls that are called on UI icon files Slingshot uses. These disk lookups might very well be rooted in Granite or GTK. The icon files are likely to be cached, so they're not a huge issue.

The full system call trace is attached. The instructions on reproducing it are included in the file.

Tags: bounty
Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :
summary: - Slingshot makes disk lookups on reveal
+ Slingshot makes disk lookups on every reveal
description: updated
Cody Garver (codygarver)
Changed in slingshot:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Cody Garver (codygarver) wrote : Re: Slingshot makes disk lookups on every reveal [$15]
summary: - Slingshot makes disk lookups on every reveal
+ Slingshot makes disk lookups on every reveal [$15]
tags: added: bounty
Revision history for this message
No Name (nonamenoname) wrote :

Shnatsel i looked at the problem and slingshot does not do any unnecessary lookups. After further investigating with empathy, which can also hide completely it seems to me all Gtk.Applications have the same behaviour. I haven't looked at the upstream code but it could be they recheck for changed icons every time a Window gets a show signal.

Changed in slingshot:
milestone: none → loki-beta1
Revision history for this message
Danielle Foré (danrabbit) wrote :

This should have been addressed in Corentin's HiDPI branch which changes Slingshot from using pixbufs to GIcon

Changed in slingshot:
status: Confirmed → Fix Committed
milestone: loki-beta1 → loki-alpha1
Cody Garver (codygarver)
Changed in slingshot:
status: Fix Committed → Fix Released
Maxim Taranov (png2378)
summary: - Slingshot makes disk lookups on every reveal [$15]
+ Slingshot makes disk lookups on every reveal [$20]
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.