Changes

Jump to: navigation, search

PGO Related Bugs

10,521 bytes added, 23:26, 9 December 2008
0.3 Release
<!-- color green when done --><td style="background-color: green; text-align: center; font-weight: bold;">Done</td>
<td style="background-color: YellowGreen; text-align: center; font-weight: bold;">Oct 24th, 2008</td>
<td>I need some help from contributors to help me accomplish this. **Update** Thanks to ChimChinmay and Dave Humphrey I was able to create this script.</td> </tr> <tr> <td>'''Create SQLite Upstream Bug'''</td> <td>I have determined the pgo bug is actually with SQLite and it needs to be added to the upstream for it to be worked on.</td> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">High</td> <!-- color green when done --><td style="background-color: white; text-align: center; font-weight: bold;">On Going</td> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">Oct 24th, 2008</td> <td>Looking into how to actual do this</td> </tr> <tr> <th colspan="6">0.2 Release</th> </tr> <tr> <td>'''Setup Test Environment'''</td> <td>I need to setup a test environment to duplicate the testing done on Thunderbird.</td> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">High</td> <!-- color green when done --><td style="background-color: green; text-align: center; font-weight: bold;">Done</td> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">Nov 4th, 2008</td> <td>I have this VM setup but I am not using yet since my XP OS that is not on a VM is much faster.</td>
</tr>
</table>
== <font color="Peru">Project Details </font>==
 
=== Conversations ===
 
{|
|width="15px"|
|December 6th
|Ted Mielczarek
|-
|
|colspan="2"|
I told Ted about how a large number of pgc (profile data) files were in a folder that gets deleted before the pgc files get used to optimize Thunderbird. It turns out that this folder gets clobbered to make sure if some one rebuilt their try after removing a component that it would not still be there. Ted suggest adding a flag that <code>ifndef MOZ_PROFILE_USE</code> then go ahead and clobber it otherwise don't.<br /><br />
That is only one part of it. The pgc files need to be merged into their corresponding pgd (program database) files but the script that does this only looks in one directory. I think I can just tell it to look in both locations. The <code>pgomerge.py</code> does not return errors for files not found.<br /><br />
Ted also said I should create another bug about this - how components can't be PGO'd on Win32.
|}
=== PGO Details ===
|width="15px"|
|[[PGO_Build_Details| Details]]
|-
|
|[[PGO_Related_Bugs/TB_Details|Thunderbird PGO Details]]
|}
==== Thunderbird ====
{|
|width="15px"|
|[[PGO_Build_Details/TB-Addrbook| Address Book enabled with PGO]]<br/>
Turned on speed optimizations for the Address Book module.
|}
=== Testing Scripts ===
{|
|width="15px"|
|-
|
| Profiledbuild doesn't work on comm-central - [https://bugzilla.mozilla.org/show_bug.cgi?id=448515 448515]
|-
|
|Figure out why building jemalloc breaks with PGO enabled - [https://bugzilla.mozilla.org/show_bug.cgi?id=419470 419470]
|-
|
|win32 mozilla-central weirdness with PGO - [https://bugzilla.mozilla.org/show_bug.cgi?id=437002 437002]
|-
|
|To enable PGO on Thunderbird a module in the Mozilla core needs to have PGO disabled - [https://bugzilla.mozilla.org/show_bug.cgi?id=465592 465592] - Resolved
|-
|
|Components cannot be PGO'd on Windows - [https://bugzilla.mozilla.org/show_bug.cgi?id=468285 468285]
|-
|
|js3250!1.pgc remains in dist/bin during a PGO build - [https://bugzilla.mozilla.org/show_bug.cgi?id=467271 467271]
|}
 
=== Patches ===
{|
|width="15px"|
|-
|
|Here is the [[PGO_Related_Bugs/Patches#465592|patch]] for bug [https://bugzilla.mozilla.org/show_bug.cgi?id=465592 465592].
|-
|
|Here is the proposed [[PGO_Related_Bugs/Patches#468285 | patches]] for bug [https://bugzilla.mozilla.org/show_bug.cgi?id=468285 468285].
|}
|width="15px"|
|
==== <span style="color:SaddleBrown;">0.1 Release </span> ====
{|
|}
==== <span style="color:SaddleBrown;">0.2 Release </span> ====
{|
|width="15px"|
|
To {|!width="25px" |!|-|colspan="2"|'''Setup Testing Environment'''|-||Created Windows 2003 Server VM - but I am still using my faster Windows XP OS since it is not a VM. The test environment will be Announcedused to verify performance data once testing of PGO begins. Either in 0.3 or beyond.|-|colspan="2"|'''Compile Thunderbird with PGO'''|-||I successfully compiled Thunderbird with PGO. It required modifying a file. I blogged about it [http://dee132.blogspot.com/2008/11/success.html here].|-|colspan="2"|'''Compile Steps'''|-||I also have the steps to compile Thunderbird with PGO [[PGO_Related_Bugs/Thunderbird|here]].|-|colspan="2"|'''Contribute to Existing Bug'''|-|| The bug '''Profiledbuild doesn't work on comm-central''' [https://bugzilla.mozilla.org/show_bug.cgi?id=448515 448515] has been re-opened and I have posted my success results on this bug.|-|colspan="2"|'''Add PGO to one module'''|-||This will be pushed back to 0.3 Release
|}
 <!-- end of inside 0.2 release -->|} ====<span style= "color:SaddleBrown;">0.3 Release </span> ====
{|
|width="15px"|
|
To be Announced{|!width="25px" |!|-|colspan="2"|'''Patch to enable PGO for Thunderbird on Windows'''|-||I created a new [https://bugzilla.mozilla.org/show_bug.cgi?id=465592 bug] for allow PGO for Thunderbird on Windows and my patch has made it into the mozilla-core.<br/>This is the [[PGO_Related_Bugs/Patches | patch]] that landed.|-|colspan="2"|'''Add PGO to one module'''|-||It turns out that by default each module is optimized for size if using PGO. The problem that arose from this was the profile data was being collect but not used. The profile data was getting deleted at the beginning of the build cycle.|-|colspan="2"|'''Create a new bug for deleted profile data'''|-||Problem 1 is the profile data in the dist/bin/components folder is getting deleted. Problem 2 is even if the profile data wasn't getting deleted the pgomerge.py script is not looking for profile data in the dist/bin/components folder anyways. This means that any component that are profiled are not getting optimized.<br />Here are the [[PGO_Related_Bugs/Patches#468285|patches]] I'm proposing.<br/>I created a new [https://bugzilla.mozilla.org/show_bug.cgi?id=468285 bug] for this problem.|-|colspan="2"|'''Details of optimizing Thunderbird'''|-||Using the proposed patches 74 objects were profiled and 69 were optimized. Here are the [[PGO_Related_Bugs/TB_Details|details]].|} <!-- end 0.3 release -->
|}
|} <!-- end of table indent -->
 
Thunderbird PGO Errors<br />
The lcms module breaks pgo. [[PGO_Related_Bugs/TB_PGO_Errors|Found Here]]
=== Performance ===
== <font color="Peru">Project News </font>==
 
=== December 2008===
{|
!width="100px"|Date
!width="15px"|
!Comments
|-valign="top"
|style="color:green;font-weight:bold" |Dec 8nd, 2008
|
|I successfully optimized the components but I broke something small. I [http://dee132.blogspot.com/2008/12/thunderbird-components-getting.html blogged] about it.
|-valign="top"
|style="color:green;font-weight:bold" |Dec 6nd, 2008
|
|I posted a new bug about components not getting optimized for Windows. This is the [https://bugzilla.mozilla.org/show_bug.cgi?id=468285 bug].
|-valign="top"
|style="color:green;font-weight:bold" |Dec 6nd, 2008
|
|After talking with Ted Mielczarek on IRC I have found out why the files I'm profiling are not getting merged into the optimized build. [[PGO_Related_Bugs#Conversations|Here]] is the conversation.
|-valign="top"
|style="color:green;font-weight:bold" |Dec 6nd, 2008
|
|My patch has made into mozilla-central. Here is the [http://dee132.blogspot.com/2008/12/patch-landed.html blog] posting.
|-valign="top"
|style="color:green;font-weight:bold" |Dec 5nd, 2008
|
|My patch has been reviewed. It needed some changes but was approved. This is the [https://bugzilla.mozilla.org/show_bug.cgi?id=465592 bug].
|-valign="top"
|style="color:green;font-weight:bold" |Dec 5nd, 2008
|
|Still trying to get the address book optimized. Discovered that all the modules are getting optimized for size by default. I [http://dee132.blogspot.com/2008/12/optimizing-thunderbird-address-book_05.html blogged] about it.
|-valign="top"
|style="color:green;font-weight:bold" |Dec 3nd, 2008
|
|Added speed optimizations to the address book module in Thunderbird. This library gets linked into the mail.dll.
|-valign="top"
|style="color:green;font-weight:bold" |Dec 2nd, 2008
|
|I got a patch up that will disable pgo for the mozlcms module when it is not linked into the xul.dll.
|}
 
=== November 2008===
----
{|
!width="100px"|Date
!width="15px"|
!Comments
|-valign="top"
|style="color:green;font-weight:bold" |Nov 24th, 2008
|
|I've been looking at the Thunderbird Makefiles. I'm trying to understand how the build process works. I [http://dee132.blogspot.com/2008/11/understanding-thunderbird-build-process.html blogged] about it.
|-valign="top"
|style="color:green;font-weight:bold" |Nov 18th, 2008
|
|I created a new [https://bugzilla.mozilla.org/show_bug.cgi?id=465592 bug] to get input on how to enable PGO for Thunderbird without modifying the Mozilla core files. Blog is [http://dee132.blogspot.com/2008/11/lets-start-converation.html here].
|-valign="top"
|style="color:green;font-weight:bold" |Nov 12th, 2008
|
|I have updated my 0.2 Release.
|-valign="top"
|style="color:green;font-weight:bold" |Nov 12th, 2008
|
|Nomis who is working on enabling PGO for TB on Mac is having different errors than me. He is posting to the same bug as I am.
|-valign="top"
|style="color:green;font-weight:bold" |Nov 12th, 2008
|
|A closed [https://bugzilla.mozilla.org/show_bug.cgi?id=448515 bug] for PGO on Thunderbird has been re-opened. I am posting to it with new information and findings.
|-valign="top"
|style="color:green;font-weight:bold" |Nov 7th, 2008
|
|I posted results from using PGO.
|-valign="top"
|style="color:green;font-weight:bold" |Nov 7th, 2008
|
|I successfully compiled Thunderbird with PGO enabled. I had to disable PGO for the mozlcms.dll.
|-valign="top"
|style="color:green;font-weight:bold" |Nov 4th, 2008
|
|Made change to the client.mk file for Thunderbird and compiled it with PGO enable. I received a compile error.
|-valign="top"
|style="color:green;font-weight:bold" |Nov 1st, 2008
|
|Installed Windows 2003 for creating a testing environment.
|}
 
=== October 2008 ===
----
{|
!width="100px"|Date
!width="15px"|
!Comments
|-valign="top"
|style="color:green;font-weight:bold" |Oct 28th, 2008
|
|Focusing on adding PGO to Thunderbird. Built Thunderbird from source.
|-valign="top"
|style="color:green;font-weight:bold" |Oct 17th, 2008
|
|I have written up my 0.1 Release and have blogged about it.
|-valign="top"
|style="color:green;font-weight:bold" |Oct 16th, 2008
|
|After compiling Firefox with sqlite pgo enabled I was able to reproduce the crash as reported on the [https://bugzilla.mozilla.org/show_bug.cgi?id=419893 bug]. I also received errors in xpcshell which I posted to the [https://bugzilla.mozilla.org/show_bug.cgi?id=419893 bug] on bugzilla. I also created a test application for sqlite and found it crashed when compiled with PGO as a stand alone application.
|-valign="top"
|style="color:green;font-weight:bold" |Oct 14th, 2008
|
|Through the contribution of a fellow student I was able to create a script to automate multiple PGO Builds.
|-valign="top"
|style="color:green;font-weight:bold" |Oct 11th, 2008
1
edit

Navigation menu