Performance/Snappy/2012-03-22

From MozillaWiki
Jump to: navigation, search

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
Todo this week

Fix cache - hurley

Bugs/Work
https://docs.google.com/spreadsheet/ccc?key=0Amywl0iz5SaydEhwblpOQng1RkpoS09Yakh6NkxoRnc 
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
  • 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
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