Performance/Snappy/2012-03-01
From MozillaWiki
< Performance | Snappy
Contents
- 1 Snappy Mar. 1 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, mccr8, 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 Tab on demand - gavin
- 1.3.20 20 second GC on resume - dietrich
Snappy Mar. 1 Minutes
Actions
- QA should verify tab close regression in bug 724349
- Anthony prompted for more information in the bug
- Dietrich provided regression range estimate, and possible reproduction steps
Incoming
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 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 (Mar. 1)
- add khuey's bugs?
- john looking into timers - be smarting about scheduling
- Todo this week
Interactivity heuristics - taras, mccr8, bbondy (when available)
- Bugs/Work
- 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 (Mar. 1)
- Jonny's team adding isInteractive stuff
- 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 (Mar. 1)
- Still waiting for new batch of data from Metrics (METRICS-429) - lmandel to follow up with metrics
- Added additional slow SQL telemetry
- 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 (Mar. 1)
- Bug 692255 - Prefetch got a review - bbondy - status: r+, sr- (to make code not firefox specific)
- Todo this week
- Resubmit Bug 692255 (prefetch on windows) for review.
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 722242 - (placesIdleContention) Avoid thread contention on idle maintenance - paolo - status: landed 13
- bug 669034: Session Restore meta bug
- breaking out chunks into separate modules, some patches in review
- bug 593680: Tab animation meta bug - jeff - status: new
- bug 711193: Restore-on-demand by default (needs telemetry, see top of page) - paolo - status: r+
- 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 613588: asyncronous on-demand livemarks - marco - status: landed
- 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 (Mar. 1)
- bug 632556- Run nsIFile::Reveal/Launch asynchronously - bbondy - status: Landed
- Made patch for 710935 - measure lag in handling user input - bbondy - status: Pending 2nd review
- async livemarks landed (marco, bug 613588)
- paint changes just deployed today, can try landing again soon once numbers confirmed ok from the test change (dietrich, releng). browser.js change is bug 715402, the test change is bug 725748 and the deployment change is bug 731893.
- Todo this week
- bbondy - bug 727275 (download manager), land bug 710935 (measure UI lag)
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: (still) in review
- 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 (Mar. 1)
- Waiting on review of the large patch
- Todo this week
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 (Mar. 1)
- Todo this week
about:jank - jrmuizel
- Bugs/Work
- changing the profiler export format to JS
- Results (Mar. 1)
- Todo this week
Paint telemetry - jrmuizel
- Bugs/Work
?
- Results (Mar. 1)
- 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 (Mar. 1)
- Got r+ from ehsan on chrome hang patch and feedback+ from jorendorff. Applied reviews. Ran into a problem with unsupported APIs with WinXP & Win2k3 versions of dbghelp.dll. Submitted new version for re-review, Ehsan reviewing it as we speak :)
- Rewriting BenWa's symbolication web service in Python with extra functionality
- Todo this week
- Hopefully land chromehang + deploy Python symbolication service
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 (Mar. 1)
- bug 198964: landed more tweaks on ux
- Todo this week
- bug 198964: meet with limi, aim to land on central
Peptest - mcote
- Bugs/Work
- bug 729395: Investigating necessary failure thresholds to get a green baseline
- bug 730422: test_contextMenu.js errors out on all platforms except Linux/Linux64
- Fixed. Still orange but will be failing "properly" now.
- Results (Mar. 1)
- Collected a few days' worth of data from peptest failures on try: http://people.mozilla.com/~mcote/peptest/results
- Should have a blog post out later today or tomorrow morning.
- Quick summary: quite a bit of variance in results. :( Coming up with a baseline will be tricky. Might be better to do an average of runs every day in a separate automation framework, though this will be easier to ignore.
- Todo this week
- Finish blog post and think about how to tackle the variance issue.
- Look into adding SPS support to peptest
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 (Mar. 1)
- No update
- 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 (Mar. 1)
- fixing various problems with incremental GC (crashes, etc.)
- 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
- Results (Mar. 1)
- Lazy content unbinder (730581). post-CC final teardown of DOMs. Reduces CC pause after closing HTML5 spec from 1200ms to 700ms.
- Avoid adding stuff to the CC graph during text input (730013).
- regression: run CC after every GC (730753). Makes CC run much more, but needed to avoid OOM in some situations. Restores old behavior.
- Todo this week
- See Bugs/Work
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 (Mar. 1)
- 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 (Mar. 1)
- bbondy - no update
- Todo this week
ImageSuck - tnikkel
- Bugs/Work
- bug 689623: provide info on visible images - - status: in progress
- Results (Mar. 1)
- Todo this week
Tab on demand - gavin
- Bugs/Work
- bug 711193: turn on tabs on demand by default - gavin - status: in progress
- Results (Mar. 1)
- Done
- Todo this week
20 second GC on resume - dietrich
- Bugs/Work
- bug 639262: pinwheeling after resume - mccr8 - status: in progress
- Results (Mar. 1)
- No update, see bug for new details
- Todo this week
- mccr8 will try to reproduce