Desktop Performance

Registered by Jason Warner on 2011-04-29

Address the boot time performance regression from natty compared to lucid/maverick.

Blueprint information

Status:
Complete
Approver:
Martin Pitt
Priority:
Low
Drafter:
Sebastien Bacher
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Sebastien Bacher on 2011-11-08
Completed by
Sebastien Bacher on 2011-11-08

Related branches

Sprints

Whiteboard

Work items:
[seb128] Figure out why nautilus is using cpu for several seconds on login:
[amaranth] Profile compiz to figure out what's slow (compiz plugin loading in particular):
[njpatel] Profile unity to figure out what's slow:
[pitti] Re-add delay to startup of evo alarm notifier: DONE
[pitti] Tracepoint unity-panel-service:
[pitti] Delay starting gdu-notification-daemon: DONE

Session notes:

Looks like we regressed...quite a bit
Things that are using CPU:
 - compiz/unity
 - X (but that's probably compiz/unity)
 - nautilus
Low-hanging fruit:
 - zeitgeist-daemon - starting Python daemon at boot, change to only start vala/C daemon at boot, bring up Python daemon when querying
gconf -> gsettings might be faster
Do we spend time testing for unity support? Depends on the hardware, but detection will move into LightDM. Compiz also has to do a lot of those tests anyway
nux shares compiz's opengl context now
What about disk I/O optimizations, like prelink or preload?
compiz initialization done once unity-window-decorator loads
After u-w-d starts, unity not compiz
Plugin loading seems slow. Does static linking plugins help?
 - Don't know, need more data
 - Options initialization is probably slow
What is nautilus doing?
 - lucid's UNR didn't use nautilus to render the desktop, just for things like automounting
small difference in pulse, but probably noise
http://people.canonical.com/~pitti/bootcharts/daniel-lucid-20100222-1.png
http://people.canonical.com/~seb128/natty-chart.png
Performance testing (other than bootchart)?
What about runtime performance, power usage?
Look at wakeups, interrupts
 - Firefox
 - unity/compiz
 - i915
We don't gather data around things like wakeups in the same way we do bootchart
Hard to do, because powertop doesn't have logging capabilities
avahi seems to trigger lots of wakeups, especially on busy networks

(?)

Work Items