Performance/Snappy/2012-03-08
From MozillaWiki
< Performance | Snappy
Contents
- 1 Snappy Mar. 8 Minutes
- 1.1 Actions
- 1.2 Incoming
- 1.3 Projects
- 1.3.1 Better DOM event/task scheduling - jst (telemetry)
- 1.3.2 Interactivity heuristics - taras, bbondy (when available)
- 1.3.3 Super-slow-startup investigations - vlad, taras
- 1.3.4 Startup optimizations - bbondy
- 1.3.5 Front-end - Dietrich/bbondy
- 1.3.6 Fix cache - hurley
- 1.3.7 Profiler - jrmuizel
- 1.3.8 about:jank - jrmuizel
- 1.3.9 Paint telemetry - jrmuizel
- 1.3.10 Nondestructive chromehang - vlad
- 1.3.11 Snappy Scrolling (meta bug: 710372) - Jared
- 1.3.12 Peptest - mcote
- 1.3.13 Font chromehang fixes - John
- 1.3.14 GC pause reduction - billm
- 1.3.15 CC pause reduction - smaug, mccr8 (meta bug: 698919)
- 1.3.16 gfx d2d lag - jeff
- 1.3.17 Firefox shutdown - rafael/bbondy
- 1.3.18 ImageSuck - tnikkel
- 1.3.19 20 second GC on resume - dietrich
Snappy Mar. 8 Minutes
Actions
No open actions
Incoming
No incoming items
Projects
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
- talking about issues, new bugs, timer stuff
- Todo this week
Interactivity heuristics - taras, bbondy (when available)
- Bugs/Work
- Results from the past week
- No update
- 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: Anurag Phadke says to expect results by end of week
- bug 722368: Report aggregate stats for private slow sql strings, patch being reviewed
- 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
- No progress this week. Tied up on other projects.
- Todo this week
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 - bug 632556 - Run nsIFile::Reveal/Launch asynchronously - bbondy - status: Landed.
- Results from the past week
- [Bug 521264] don't use file.exists() when not necessary - passed tests, landing asap
- Todo this week
- bbondy - bug 727275 (download manager), land bug 710935 (measure UI lag)
- paolo - async favicons - updating consumers (bug 728143)
- drew - async content prefs (bug 699859)
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
- First patch looks good so far, according to dmandelin. Needs some rework based on possible (though unlikely) races
- Todo this week
- Rework to fix aforementioned races
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
- Results from the past week
- ON HOLD
- Todo this week
- Enable the profiler for Android
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
- 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
- Retwrote profiling server in Python, completed sec review
- Ehsan r+'d latest version of chromehang patch that works on older versions of Windows
- Todo this week
- Deploy Python profiling server
- Merge chromehang patch
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 729395: Investigating necessary failure thresholds to get a green baseline
- We will just turn the results green and analyze the data separately (see below).
- bug 734173: Report peptest results to server and graph live data
- bug 706847: Integrate SPS into peptest
- Results from the past week
- Anaysis of results ( http://people.mozilla.com/~mcote/peptest/results/ ) indicates that peptest should not be a strict pass/fail buildbot test.
- Rather, as with Talos, this test should pass its results to a graph server, which can analyze trends over time. The test itself on buildbot would always be green.
- Started integrating the SPS profiler into peptest.
- Todo this week
- Continue working on SPS profiler. Start work to get peptest reporting live results to a server.
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: landed 13
- bug 719492: responsiveness telemetry - billm - status: landed 13
- Results from the past week
- Todo this week
CC pause reduction - smaug, mccr8 (meta bug: 698919)
- Bugs/Work
- bug 728460: Trigger CC less often from purple buffer size
- 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 - status: new
- bug 698547: try to disable cycle collection, gc, while user-interactive - owner? - status: new
- Results from the past week
- landed 728460 (remove things from purple buffer to trigger CC less often)
- Todo this week
- look more into GC<->CC scheduling
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
- ON HOLD
- 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
- bug 722243: Mark async queries cancellable
- Todo this week
- Finish cancellable queries
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
- may be a result of having all gc timers firing after waking up causing immediate paging of all data from disk back to memory, may be able to detect this condition and reset timers to wait until system is warm
- Todo this week