Performance/Snappy/2012-03-29
From MozillaWiki
< Performance | Snappy
Contents
- 1 Snappy Mar. 29 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. 29 Minutes
Actions
No actions
Incoming
- hardware acceleration: i disabled hwa on all macs in my family, and Firefox has been noticeably snappier across multiple types of macs. related bugs: bug 600763, bug 721273, bug 721892. should have someone from perf team or gfx dig in and at least confirm.
Projects
Persona slowness(ehsan?)
- Bugs/Work
- 650968 - personas slow our startup
- Results from the past week
- No update
- 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
- New about:telemetry v0.12.1 released, shows full slow SQL data on Nightlies
- Todo this week
- 722243: Finish cancellable sql
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
- 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
- Received super slow startup data yesterday
- Todo this week
- Analyze super slow startup data today or tomorrow
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 update
- 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 (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
- No update
- Todo this week
Profiler - jrmuizel/BenWa/Ehsan (and more)
- Bugs/Work
- Results from the past week
- Profiler add-on can now toggle Jank/Stackwalking feature
- New cleopatra changes deployed. Changes: https://github.com/bgirard/cleopatra/commits/master
- Todo this week
about:jank - jrmuizel
- Bugs/Work
- Results from the past week
- changing the profiler export format to JS
- 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.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
- 30-50 daily users on nightly-profiling branch. See http://mzl.la/H7Zs14
- Integrated Benoit's SPS extension with Symbolication Server
- Blog post: http://blog.mozilla.com/vdjeric/2012/03/28/setting-up-snappy-symbolication-server-locally/
- Todo this week
- Ping security/privacy review people?
- Uplift chromehang into Aurora? A bit too late + not urgent
- Publicize profiling branch to developers at Platform meeting? Builds here: http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-profiling/
^^ Note that 64-bit builds have SSL issues: bug 727873
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
- No update
- Todo this week
Peptest - mcote
- Bugs/Work
- bug 740466: Add revisions to peptest graphs
- only build dates on there right now
- bug 737886: Alert when trends change
- implement a talos-like system for detecting and reporting changes in results
- bug 740462: Add telemetry histograms to peptest results
- may not get to this for a while
- Results from the past week
- Peptest results from try, mozilla-inbound, and mozilla-central being reported to http://mrcote.info/peptest/
- MDN documentation: https://developer.mozilla.org/en/Mozilla_automated_testing/Peptest
- Todo this week
- Add revisions to graphs
- Continue experimenting with trend analysis
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
- No update
- Todo this week
GC pause reduction - billm
- Bugs/Work
- bug 641025: incremental GC - billm - status: disabled
- Results from the past week
- No update
- 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
- bug 737075: mark JS observers black
- bug 740185: mark safe JS context black
- Results from the past week
- landed patches to remove more things from the CC graph (bug 736563, bug 712735)
- Todo this week
- get bug 737075 and 740185 reviewed and landed (remove stuff from CC graph)
- look at DOM Q2 goal: Reduce CC pauses significantly when there are cycles to collect
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
- Write poisoning patch works. Have to find the last write we have currently and factor it.
- Found that xul <query> tags don't get finalized (and the connections closed) untill= the last cycle collector run. Testing a patch crashed on windows, debugging it right now.
- Todo this week
ImageSuck - tnikkel
- Bugs/Work
- bug 689623: provide info on visible images - - status: in progress
- Results from the past week
- No update
- 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
- No update
- Todo this week