Comment 9 for bug 1257076

Revision history for this message
Ted Gould (ted) wrote :

Overview
========

I took all of the pending merges for upstart-app-launch and created a mega-merge branch. This is what trunk should look like after all the code reviews are done. And started to get some results on that. It includes most of the optimizations that were suggested in the previous post except the change to libclick, which isn't available yet. Overall the before and after:

First start:: Was: 750ms Mega-merge: 228ms
Second start:: Was: 738ms Mega-merge: 143ms

Analysis
========

While most of the gains were as expected, we also got an additional delay that was known, but not included in the previous tests. In the previous results we didn't have the handshake with Unity to ensure that Unity knows an appid is starting before allowing it to execute. This handshake seems to be adding an additional 58ms to the first start up of an application. I've passed this along to the Unity team so they can investigate further.

Further Work
============

I don't see any other hot spots in upstart-app-launch that can be worked on currently. When we drop surface flinger I expect about a 30ms increase and perhaps the unity callback can be optimized as well to decrease startup time. Not dicussed here is the click path which will be greatly improved with libclick.

NOTE: All results on a Galaxy Nexus, N4 is likely to be much faster.