PGO as a performance theme

Registered by Michael Hope on 2011-10-19

Profile guided optimisation is where you run a program, collect data on how it actually runs, then use that to make a further optimised build.

We'd like to use PGO as a theme in a future quarter but need to investigate PGO and the potential gains first. Discuss.

Blueprint information

Status:
Not started
Approver:
Michael Hope
Priority:
Medium
Drafter:
Michael Hope
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Informational Informational
Milestone target:
None

Related branches

Sprints

Whiteboard

This session is a kick-off. We'll spend a lot of the hacking time on this during Connect.

Agenda:
 * Investigate why PGO doesn't bootstrap
 * Who is currently using it
 * What improvements have they seen (Firefox: 30 % improvement in startup time)
 * Build Python, EEMBC, and a few others with PGO
 * Check that they still work
 * See how the benchmarks change
 * Known areas such as constant pools

Future:
 * PGO on programs that don't exit (kernel, Dalvik)
 * Using a sampling profiler for PGO
 * Other non-GCC versions of PGO

[2013-05-28 matthew gretton-dann] This is CARD-112 in Jira

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.