Performance/Snappy/2012-03-22
From MozillaWiki
< Performance | Snappy
Contents
- 1 Snappy Mar. 22 Minutes
- 1.1 Actions
- 1.2 Incoming
- 1.3 Projects
- 1.3.1 Persona slowness(ehsan?)
- 1.3.2 Mainthread+Slow SQL (gavin/taras/vlad)
- 1.3.3 Better DOM event/task scheduling - jst (telemetry)
- 1.3.4 Super-slow-startup investigations - vlad, taras
- 1.3.5 Startup optimizations - bbondy
- 1.3.6 Front-end - Dietrich/bbondy
- 1.3.7 Fix cache - hurley
- 1.3.8 Profiler - jrmuizel/BenWa/Ehsan (and more)
- 1.3.9 about:jank - jrmuizel
- 1.3.10 Paint telemetry - jrmuizel
- 1.3.11 Nondestructive chromehang - vlad
- 1.3.12 Snappy Scrolling (meta bug: 710372) - Jared
- 1.3.13 Peptest - mcote
- 1.3.14 Font chromehang fixes - John
- 1.3.15 GC pause reduction - billm
- 1.3.16 CC pause reduction - smaug, mccr8 (meta bug: 698919)
- 1.3.17 gfx d2d lag - jeff
- 1.3.18 Firefox shutdown - rafael/bbondy
- 1.3.19 ImageSuck - tnikkel
- 1.3.20 Better interactivity heuristics
Snappy Mar. 22 Minutes
Actions
No actions.
Incoming
- From the weekly Firefox coordination meeting: A Google Chrome developer posted a detailed Google+ post about how the team is working embedding a full DNS resolver in Chrome in an effort to improve performance.
https://plus.google.com/103382935642834907366/posts/FKot8mghkok
Projects
Persona slowness(ehsan?)
- Bugs/Work
- 650968 - personas slow our startup
- Results from the past week
- Todo this week
Mainthread+Slow SQL (gavin/taras/vlad)
- 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/slowsql/
- Results from the past week
- 722368: Landed aggregate tracking of slow dynamic SQL strings. Updated about:telemetry (version 0.12.1)
- Todo this week
- 722243: Cancellable SQL queries
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
- 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
- Still waiting on data - lmandel to follow up with metrics again
- 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
- Dashboard: https://wiki.mozilla.org/SnappyFrontEndDashboard
- No audible report, very little activity, everyone busy cleaning up from the last source migration.
- 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
- Newest patch awaiting review
- Todo this week
- Get review
Profiler - jrmuizel/BenWa/Ehsan (and more)
- Bugs/Work
- Have plans to get samples associated with document urls
- sfink is investigating interleaving C++/JS stack in profiling unwind
- We're investigated adding an option to IonMonkey to generate JIT with frame pointers on profiling builds. This would let us use our current infrastructure. bug 736299
- Working towards multiple thread profiling and investigating OpenGL profiling with fence
- bug 719530: Cleopatra front-end improvements - owner? - status: new
- Lots of improvements here, mstange has been rocking the entire UI, new front end screenshot: https://developer.mozilla.org/en/Performance/Profiling_with_the_Built-in_Profiler
- Front end now using chrome and web worker and improved the performance of operations in the UI to support larger profile
- Android stackwalking support has landed
- Results from the past week
- Todo this week
about:jank - jrmuizel
- Bugs/Work
- changing the profiler export format to JS
- Results from the past week
- 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
- Todo this week
Nondestructive chromehang - vlad
- Bugs/Work
- bug 712109: non fatal chromehang.Main chromehang bug landed previous week. It's backed out of Aurora for now.
- 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
- 735829: Landed change to report one extra piece of info about libraries in chromehang reports
- Snappy Symbolication Server (https://github.com/vdjeric/Snappy-Symbolication-Server/) submitted for privacy review and security code review (https://wiki.mozilla.org/index.php?title=Privacy/Reviews/SnappySymbolicServer and https://wiki.mozilla.org/Security/Reviews/SnappySymbolSrv).
- Blogged about chromehang work: http://blog.mozilla.com/vdjeric/2012/03/21/introducing-chrome-hang-reporting-and-the-symbolication-server/
- about:telemetry extension updated to show chromehang reports locally. This version of extension will not be released until Symbolication Server deployed publicly. Until then, extension can be download manually from https://people.mozilla.com/~vdjeric/ping.telemetry.xpi)
- Todo this week
- Help Benoit Girard with modifying his SPS profiler extension to work with Snappy Symbolication Server
- lmandel to find out # people on profiling branch
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
- avih has been working on fixing scrolling code in OS X and linux, also made a tweak for scrolling animation to be 400ms instead of 800ms (bug 736251 and bug 737758) - Jaws
- Todo this week
Peptest - mcote
- Bugs/Work
- bug 734173: Report peptest results to server and graph live data
- bug in TZ conversion, should be fixed shortly
- pulse (source of peptest notifications) changed format; updating to the new format but lost a day or so of data
- bug 737886: Alert when trends change
- implement a talos-like system for detecting and reporting changes in results
- bug 737581: Start running peptest on mozilla-central and mozilla-inbound so we can collect data
- Results from the past week
- added date controls; added selector for period of moving average
- Todo this week
- fix bug with TZ and pulse
- figure out how to detect changes
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
- 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
- Results from the past week
- looking at speeding up CCs with two tabs open (Gmail+mozilla Wiki)
- remove more stuff from the CC graph (bugs 735342, 736763, 735550, 737060)
- preliminary patch for delaying slow CCs (bug 710496)
- preliminary patches for removing more things from the CC graph (bugs 736563, 737075)
- Todo this week
- finish and land preliminary patches above
- investigate CCs with 6 or so tabs open, reported slowdowns from addons
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
- switch to private browsing doesn't close db (bug735697)
- Will try to enable checking again (bug 711076)
- Have the basics for write poisoning working (bug 732173)
- How to decide if we should take the fast exit path or not in code review (bug 731741)
- 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
Better interactivity heuristics
- Bugs/Work
- bug 639262: pinwheeling after resume - mccr8 - status: in progress
- 712478- start moving on figuring out which things should listen to user-interacting, etc(gavin + taras)
- bug 698547: try to disable cycle collection, gc, while user-interactive - owner?
- ensure that idle-timer and user-interacting state are cooperating
- file bug to detect when fullscreen video is playing...also when we are scrolling
- Results from the past week
- Todo this week