PGO as a performance theme
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
- Milestone target:
- None
- Started by
- Completed by
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