Performance/Snappy/2012-03-15
From MozillaWiki
< Performance | Snappy
Contents
- 1 Snappy Mar. 15 Minutes
- 1.1 Actions
- 1.2 Incoming
- 1.3 Projects
- 1.3.1 Persona slowness(?)
- 1.3.2 Mainthread+Slow SQL (gavin/taras)
- 1.3.3 Better DOM event/task scheduling - jst (telemetry)
- 1.3.4 Interactivity heuristics - taras, bbondy (when available)
- 1.3.5 Super-slow-startup investigations - vlad, taras
- 1.3.6 Startup optimizations - bbondy
- 1.3.7 Front-end - Dietrich/bbondy
- 1.3.8 Fix cache - hurley
- 1.3.9 Profiler - jrmuizel
- 1.3.10 about:jank - jrmuizel
- 1.3.11 Paint telemetry - jrmuizel
- 1.3.12 Nondestructive chromehang - vlad
- 1.3.13 Snappy Scrolling (meta bug: 710372) - Jared
- 1.3.14 Peptest - mcote
- 1.3.15 Font chromehang fixes - John
- 1.3.16 GC pause reduction - billm
- 1.3.17 CC pause reduction - smaug, mccr8 (meta bug: 698919)
- 1.3.18 gfx d2d lag - jeff
- 1.3.19 Firefox shutdown - rafael/bbondy
- 1.3.20 ImageSuck - tnikkel
- 1.3.21 20 second GC on resume - dietrich
Snappy Mar. 15 Minutes
Actions
No actions
Incoming
- bug 712478 - start moving on figuring out which things should listen to user-interacting, etc
- gavin + taras
Projects
Persona slowness(?)
- Bugs/Work
- 650968 - personas slow our startup
Mainthread+Slow SQL (gavin/taras)
- Bugs/Work
- want to get this in relevant team's Q2 goals
- bug 736144: async way to preload LS
- 729330: addon manager is mainthread AND slow
- 725821: Speedup Awesomebar searching with FTS
- 722243: cancellable sql
- 566746 - form history async storage api
- 699854 - async download storage
- 702344 - permission manager
- http://people.mozilla.org/~xstevens/telemetry/712354/
Better DOM event/task scheduling - jst (telemetry)
- Bugs/Work
- bug 712478: Add interactive states - bsurender - status: assigned, patch in progress as part of bug 715041
- bug 715592: Immersive modes - owner? - status: new
- bug 715376: background tab activity to be less disruptive 1 - johns - status: assigned
- bug 715378: background tab activity to be less disruptive 2 - janv - status: new
- bug 734015: slow down background tabs - gwagner - status: new
- bug 715380: to measure above problem + track progress 1 - nathan - status: new
- bug 715950: to measure above problem + track progress 2 - nathan - status: new
- bug 715953: to measure above problem + track progress 3 - nathan - status: fixed 13
- bug 717659: for tracking reflows in background tab - nathan - status: fixed 13
- bug 675015 - Avoiding reflowing when scrolling - timothy - status: fixed 12
- throttle parsing tasks while loading background tabs(html5 parser work bug#?)
- timer combination + time accounting on JS are being assigned(eta Thurs 23rd for update)
- Results from the past week
- new bug #s?
- Todo this week
- timers(John)
Interactivity heuristics - taras, bbondy (when available)
Is there are action here? Should this project be dropped? - This project will be dropped for now
- Bugs/Work
- Results from the past week
- Todo this week
Super-slow-startup investigations - vlad, taras
- Bugs/Work
- bug 701872: cause of multi-minute startups - taras - status: in progress
- network cache still a problem?
- bug 715402: a lot of slow startups seem to indicate we load pages before we paint - dietrich - status: backed out, need to re-evaluate Talos tests w/ new startup event sequence caused by this patch
- Roughly 4% of telemetry reports show sessionRestore occuring before firstPaint
- Vlad's blog post:http://blog.mozilla.com/vdjeric/2012/01/31/telemetry-from-super-slow-startups-first-impressions/
- Unknown what % of slow-startup reports were from unofficial builds, getting recent batch of data with extra info in METRICS-429 JIRA
- Vlad looking into slow sql correlations: reported findings to mak during FOSDEM week - in dependencies of bug 722188 + also covered by dependencies of bug 699820
- Co-ordinate with froydnj, maybe have SQLite add callback on lock contention
- Results from the past week
- METRICS-429: waiting on info from Anurag Phadke
- Todo this week
Startup optimizations - bbondy
- Bugs/Work
- bug 725444 - 10-15ms in AudioSession - bbondy - status: in progress (needs review commments implemented)
- Other opts for nsLocalFileWin, would also like to profile nsLocalFileUnix later - (bug#? Will post once I profile and find specific opts) - status: in progress
- Profiling manifest parsing - bug#506392 - status: in progress
- Searching for other startup pain points - status: in progress
- Bug 692255 - Find a way to get rid of prefetch files on Windows for faster startup - bbond - status: r+ waiting on superreview
- Bug 727864 - Enable DLL preloading when MozillaMaintenance service disabled prefetch - bbondy - status: r+ waiting to land with bug 692255
- Bug 726503 - FILE_FLAG_SEQUENTIAL_SCAN always being passed for all file IO - bbondy - status: landed 13
- Bug 726481 - Reduce calls to IsDirectory by not calling it when enumerating directories - bbondy - status: landed 13
- bug 726576 - Optimize calls to nsLocalFileWin's HasFileAttribute - bbondy - status: landed 13
- Wonder if we can make a smaller dll instead of xul.dll with the needed startup functions - (bug#? No bug yet since I'm not sure if it is a good idea yet)
- Results from the past week
- Nothing, work will continue the week of March 26th
- Todo this week
- Nothing, work will continue the week of March 26th
Front-end - Dietrich/bbondy
- Bugs/Work
- bug 671038: front-end telemetry meta bug: need to see what's left that is high priority
- bug 699820: Storage IO meta bug
- bug 669034: Session Restore meta bug
- bug 593680: Tab animation meta bug - jeff - status: new
- bug 704025: Rewrite frecency to make it less IO heavy - needs owner - status: new
- bug 725821: Avoid scanning all the pages table for each awesomebar matching, separate FTS engine to restrict the resultset - needs owner - status: new
- bug 519514: Async bookmarking API to avoid Sync hanging the UI - needs owner - status: new
- bug 699860: Async Clearing of recent history - needs owner - status: new
- bug 566746: Async FormAutocomplete in reviews (needs new patch - status: felix - in progress
- bug 699856: Move search service to json - yoric - status: needs review gavin
- bug 699859: Async content preferences - drew - status: needs new patch
- bug 521264: Don't use file.exists() when not necessary - marcoC - status: failing tests, needs new patch)
- bug 649216: Clicking quickly at the same location should close multiple tabs - previous owner may be able to come back to this - follow up - status: needs new patch
- Bug 710373 - Pressing the vertical slider down arrow with smooth scrolling should move three lines instead of one - Jared - status: landed 12
- bug 727275 - 1s opt main thread for a download from Download Manager - bbondy - status: implementing review comments (work will continue the week of March 26th)
- bug 632556 - Run nsIFile::Reveal/Launch asynchronously - bbondy - status: Landed.
- Results from the past week
- Todo this week
Fix cache - hurley
- Bugs/Work
- bug 717761: Main thread can be blocked by IO on the cache thread - nick - status: waiting feedback
- bug 715752: cache entry format version # - owner? - status: new
- bug105843: Cache lost if Mozilla crashes - owner? - status: new
- bug 723577: being reworked - see results/todo
- bug 729133: preconnect cache
- cache testing http://groups.google.com/group/mozilla.dev.tech.network/browse_thread/thread/6dfa3e6ebe80c336
https://docs.google.com/spreadsheet/ccc?key=0Amywl0iz5SaydEhwblpOQng1RkpoS09Yakh6NkxoRnc
- Not really BFCache, but some results of Click-through Caching here -> https://docs.google.com/spreadsheet/ccc?key=0AmkRt0ylPb8zdGxPRDhUbGdoM3lwd3JQNXY3bW5nNHc&hl=en_US#gid=0
- Results from the past week
- Not much - security bug week. Reworking of patch moving along, hampered by possible necessity of recursive locking without even more invasive changes
- Todo this week
- Determine feasability of recursive locking or more invasive changes.
Profiler - jrmuizel
- Bugs/Work
- Have plans to get samples associated with document urls
- sfink is investigating interleaving C++/JS stack in profiling unwind
- bug 719530: Cleopatra front-end improvements - owner? - status: new
- Lots of improvements here, mstange has been rocking the entire UI
- Android stackwalking support will land soon, currently pending reviews (owner: ehsan)
- Results from the past week
- ON HOLD
- Todo this week
about:jank - jrmuizel
- Bugs/Work
- changing the profiler export format to JS
- Results from the past week
- ON HOLD
- Todo this week
Paint telemetry - jrmuizel
Is there a bug? Should we drop this project and simply track the bug?
- Bugs/Work
?
- Results from the past week
- ON HOLD
- Todo this week
Nondestructive chromehang - vlad
- Bugs/Work
- bug 712109: non fatal chromehang - vlad - status: in review]
- Getting PCs from stack + module addresses & PDB signatures
- Client-side reporting of chrome hang stacks + module PDB signatures done. Offline symbolication of stacks works. Latest patch with leaner report format currently being reviewed bug#?
- Benoit has made a symbolication web app, might integrate my symbolication tool with it eventually bug #?
- Results from the past week
- bug 712109: Patch has landed. It got merged in mozilla-aurora, awaiting permission to back it out
- bugs 735829, 735861, 735422: Minor changes to chromehang
- Contacted by QA wrt test plan for chromehang feature
- Todo this week
- Contact Ops regarding requirements to make Symbolication server public
- Clean up code for security review
- Release new about-telemetry
Snappy Scrolling (meta bug: 710372) - Jared
- Bugs/Work
- (add backend dependencies) - bug#s?
- Scrolling is worse than opera(acceleration, smoothness, and bounce) - (roc) - bug#?
- Turn smooth scrolling off for mousewheel or investigate - bug#?
- Bug 206438: Smoothscroll should be replaced by 'smoothwheel' extension - Avi Halachmi
- make sure high res mousewheel scrolling is hooked up on all platforms - bug#?
- track scrolling performance(roc?) - bug#?
- Make a video to demonstrate the problem - owner?
- cameron has been fixing touchpad - bug#?
- keyboard repeat drives scrolling rate - bug 629507
- Results from the past week
- Todo this week
Peptest - mcote
- Bugs/Work
- bug 734173: Report peptest results to server and graph live data
- basic reporting done; see below
- bug 706847: Integrate SPS into peptest
- Basic support done in a separate branch. However BenWa tells me that SPS will be unstable for at least a couple months, so back-burnering this for now.
- Need to get some reporting
- Results from the past week
- live results at http://mrcote.info/peptest/ (for now)
- There are some *crazy* outliers that make some graphs hard to read. Will fix, somehow, plus add date controls and such.
- Todo this week
- Think about notifications, identifying trends, etc.
- Improve graph UI.
Font chromehang fixes - John
- Bugs/Work
- collection of bugs found when turned on chromehang - bug#s?
- John: updating patches for system font fallback today, 1/27 - bug#?
- Results from the past week
- Todo this week
GC pause reduction - billm
- Bugs/Work
- bug 641025: incremental GC - billm - status: disabled
- Results from the past week
- bug 734946: disabled IGC (due to memory leaks on XP Mochitests)
- bug 728686: fixed the common reason IGC was turning off
- bug 730853: prevent GC from shutting out CC in certain situations
- bug 735014: further delay GC from page hiding
- Todo this week
CC pause reduction - smaug, mccr8 (meta bug: 698919)
- Bugs/Work
- bug 727965: CC trigger GC less often. Causes timeouts with IGC.
- bug 701878: experiments with constructing CC graph more incrementally.
- bug 710499: Telemetry for why CC is invoked.
- bug 730639: pre-CC DOM teardown
- bug 710496: reduce frequency of cycle collector when slow - mccr8
- bug 698547: try to disable cycle collection, gc, while user-interactive - owner?
- Results from the past week
- bug 734057: avoid long CCs for many minutes after closing Gmail
- Todo this week
- in progress: eliminate various edge cases from the CC graph (735342, 735504, 735550)
- CC less when they are longer
gfx d2d lag - jeff
- Bugs/Work
- need better heuristics to turn it off - bug#?
- need a plan to make us paint as well as IE - bug#?
- Results from the past week
- Todo this week
Firefox shutdown - rafael/bbondy
- Bugs/Work
- bug 662444: skip gc and other unneeded ops - rafael - status: new
- affects places, session restore, etc.
- bbondy: A large portion of shutdown is due to the main thread's nsDiskCacheBlockFile::Close/nsDiskCacheBlockFile::FlushBitMap accounting for 193ms - (bug #? no bug number, just an observation)
- loop spinning for places is back on m-i (721603)
- we will _exit(0) after profile-before-change (662444/ taras email)
- have a bug for the check about when we should exit (731741)
- will try to figure out how to best poison write to check that we are not writting to disk after some point.
- Results from the past week
- discovered that downloads are getting shutdown late, this to be fixed
- Todo this week
ImageSuck - tnikkel
- Bugs/Work
- bug 689623: provide info on visible images - - status: in progress
- Results from the past week
- Todo this week
20 second GC on resume - dietrich
- Bugs/Work
- bug 639262: pinwheeling after resume - mccr8 - status: in progress
- Results from the past week
- Todo this week