101
edits
| (48 intermediate revisions by 8 users not shown) | |||
| Line 1: | Line 1: | ||
__NOTOC__ | |||
= Overview = | = Overview = | ||
'''Description:''' | '''Description:''' Improve startup time of Firefox and Fennec on all operating systems and platforms, including mobile devices. | ||
''' | '''Project lead:''' <br/> | ||
'''Project members:''' Taras Glek, Ben Hsieh, Steve Fink, Michael Wu, Shawn Wilsher | |||
''' | '''Bugs:''' [http://tinyurl.com/ygbnzmd Open] | [http://tinyurl.com/yjp8d6w Fixed] | [http://bit.ly/5t9fA9 Fixed in 3.6] | ||
'''Results''': [http://graphs.mozilla.org/dashboard/snapshot/ Performance Snapshot] (snapshot numbers for last 7 days, and version comparisons) | |||
[http://autonome.wordpress.com/tag/startup/ Weekly status updates] | '''Graphs:''' [http://bit.ly/5fjmP9 Windows XP] | [http://bit.ly/8FjKvj Windows Vista] | [http://bit.ly/7aHx3r Mac Leopard] | [http://bit.ly/8wUHGs Linux] | ||
'''Status:''' [http://autonome.wordpress.com/tag/startup/ Weekly status updates] | |||
=Active Projects= | =Active Projects= | ||
<onlyinclude> | |||
{|border="1" cellspacing="0" cellpadding="2" | |||
!Estimated win | |||
!Bug # | |||
!Summary | |||
!Owner | |||
!Status | |||
!Notes | |||
|- | |||
|~10% | |||
|[[Firefox/Projects/2010Q3_Dirty_Startup_Reduction|"Dirty Profile" Startup Reduction]] | |||
|Constant startup relative to profile size | |||
|Shawn Wilsher | |||
| | |||
| | |||
|- | |||
|significant | |||
|{{bug|558200}} | |||
|Extension profiler platform api | |||
|Steve Fink | |||
| | |||
| There is an easy way to provide feedback to extension developers to help them figure out why their extension is misbehaving. We need to implement that ASAP, so typical firefox installs(with lots of extensions) can be fast | |||
|} | |||
</onlyinclude> | |||
=Help Wanted/Onhold= | |||
{|border="1" cellspacing="0" cellpadding="2" | |||
!Estimated win | |||
!Bug # | |||
!Summary | |||
!Owner | |||
!Status | |||
!Notes | |||
|- | |||
|~8% | |||
|{{bug|561842}} | |||
|Fold libraries into libxul | |||
|Ted Mielczarek | |||
| | |||
|proof of concept done | |||
|- | |||
|up to 40% | |||
|{{bug|531406}} | |||
|Optimize code locality in binaries. Working on enabling pgo atm. | |||
|Taras Glek | |||
| | |||
|Linux almost done, need to figure out integration. Windows proof of concept needs work. | |||
See [http://blog.mozilla.com/tglek/2010/02/19/teaching-ld-to-optimize-binaries-for-startup/ blog post] for more details. Taras and Ehsan working on Windows locality improvements ({{bug|553721}}). | |||
|- | |||
|~10% | |||
|{{bug|512584}} | |||
|Fast paths for Cc/Ci | |||
| | |||
| | |||
|Confirmed win. Unfortunately this approach touches a lot of sensitive code, might be easier to port js to not use Cc/Ci | |||
|- | |||
|TBD | |||
|{{bug|513149}} {{bug|553456}} | |||
|Speed up CSS parsing | |||
|Zack Weinberg | |||
| | |||
| | |||
|- | |||
|significant | |||
|{{bug|559663}} | |||
|Measuring IOPs | |||
| | |||
| | |||
|Our current infrastructure does not measure cold startup effectively, it should. | |||
| | |||
|- | |||
|TBD | |||
|{{bug|569629}} | |||
|Get rid of static initializers | |||
| | |||
| | |||
|These slowdown library loading, cause a lot of pagefaults on gcc platforms. | |||
|} | |||
Other efforts: | |||
* {{bug|514083}} HFS+ compression on Mac OSX 10.6 | |||
* {{bug|514083}} | |||
'''Measurement & Testing''' | '''Measurement & Testing Projects''' | ||
* cold startup testing | * cold startup testing | ||
** {{bug|532965}} - fix Mac cold startup test | ** {{bug|532965}} - fix Mac cold startup test | ||
** {{bug|522807}} - windows | ** {{bug|522807}} - make windows cold startup test | ||
* dirty profile testing | * dirty profile testing | ||
** {{bug|527596}} - dirty Tp | ** {{bug|527596}} - dirty Tp | ||
** {{bug|FILEME}} - test an all-dirty profile | ** {{bug|FILEME}} - test an all-dirty profile | ||
edits