Performance/Snappy/2012-02-16

From MozillaWiki
Jump to: navigation, search

Snappy Feb. 16 Minutes

Actions Items

Incoming

  • 20 second GC on resume (bug 639262) - dietrich

Projects

Better DOM event/task scheduling - jst(telemetry)
  • bug 712478: Add interactive states(needs owner):
    • user-interacting: using is actively scrolling, clicking, entering fullscreen(bug 715592), etc
    • user-might-interact: ie mouse moved recently, might be followed by a click, do not schedule low priority timers within 50ms
  • bug 715376 & bug 715378: background tab activity to be less disruptive
  • bug 715380 to measure above problem + track pro gress (nathan)
  • bug 717659 for tracking reflows in background tab
    • marked checkin-needed
  • Avoiding reflowing when scrolling (bug 715584)
  • 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)
Interactivity heuristics - taras, mccr8, bbondy
  • reduce frequency of cycle collector when slow (bug 710496)
  • try to disable cycle collection, gc, while user-interactive (bug 698547)
  • mccr8 will look into bug 710496 by next meeting
Super-slow-startup investigations - vlad, taras, dietrich
Startup optimizations - bbondy
  • Misc:
    • Updated my local profiler to only time things on the main thread.
    • Wonder if we can make a smaller dll instead of xul.dll with the needed startup functions
    • Looked into the preload/LoadLibrary code
  • In Progress:
    • Needs review comments implemented, bug 725444 - 10-15ms in AudioSession
    • Other opts for nsLocalFileWin, would also like to profile nsLocalFileUnix later
    • Profiling manifest parsing
    • Searching for other startup pain points
    • Investigate delayed loading of dynamic libraries
    • Tweak preload code for when prefetch is disabled
  • In Review:
    • bug 692255 - Find a way to get rid of prefetch files on Windows for faster startup
    • bug 727864 - Enable DLL preloading when MozillaMaintenance service disabled prefetch
  • Landed, or landing soon:
    • bug 726503 - FILE_FLAG_SEQUENTIAL_SCAN always being passed for all file IO.
    • Template:Bug 726481 - Reduce calls to IsDirectory by not calling it when enumerating directories.
    • bug 726576 - Optimize calls to nsLocalFileWin's HasFileAttribute
Front-end - Dietrich/bbondy
  • bug 671038: front-end telemetry meta bug
    • recently landed: number and size of Places annotations, frecency updates, opening of the app menu, opening of bookmarks toolbar, time for idle maintenance, idle frecency update, page thumbnail rendering and storing.
    • session restore probes just need landing
  • bug 699820: Storage IO meta bug
    • recently landed: bug 722242 - (placesIdleContention) Avoid thread contention on idle maintenance
  • bug 669034: Session Restore meta bug
    • breaking out chunks into separate modules, some patches in review
  • bug 593680: Tab animation meta bug
  • bug 711193: Restore-on-demand by default (needs telemetry, see top of page)
  • bug 704025: Rewrite frecency to make it less IO heavy (needs owner)
  • bug 725821: Avoid scanning all the pages table for each awesomebar matching, separate FTS engine to restrict the resultset (needs owner)
  • bug 519514: Async bookmarking API to avoid Sync hanging the UI (needs owner)
  • bug 699860: Async Clearing of recent history (needs owner)
  • bug 566746: Async FormAutocomplete in reviews (needs new patch, emailed felix to see if he can still work on it)
  • bug 699856: Move search service to json (yoric, needs review gavin)
  • bug 699859: Async content preferences (drew, needs new patch)
  • bug 521264: Don't use file.exists() when not necessary (marcoC, 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)
  • bug 710373 - Pressing the vertical slider down arrow with smooth scrolling should move three lines instead of one (Jared)
  • bug 613588: asyncronous on-demand livemarks (marco, needs review dietirchy)
  • bbondy: bug 727275 - 1s opt main thread for a download from Download Manager (implementing review comments)
  • bbondy: bug 632556 - Run nsIFile::Reveal/Launch asynchronously (waiting on feedback from bsmedberg)
Fix cache - hurley
https://docs.google.com/spreadsheet/ccc?key=0Amywl0iz5SaydEhwblpOQng1RkpoS09Yakh6NkxoRnc 
Profiler - jrmuizel
  • Have plans to get samples associated with document urls
  • sfink is investigating interleaving C++/JS stack in profiling unwind
  • No update - on hold for a few weeks
about
jank - jrmuizel
  • changing the profiler export format to JS
  • No update - on hold for a few weeks
Paint telemetry - jrmuizel
  • No update - on hold for a few weeks
Nondestructive chromehang - vlad
  • First draft complete https://bugzilla.mozilla.org/show_bug.cgi?id=712109 (patch not landed yet)
  • 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
  • Benoit has made a symbolication web app, might integrate my symbolication tool with it eventually
    • I've taken over getting Beonit's symbolication web app deployed, currently working on getting access rights from Server Ops
Snappy Scrolling - Jared
  • (2/15 update: A patch to make keyboard arrow keys and scrollbars have consistent scrolling distances is very close to landing. The patch will introduce a pref that can be changed in about:config for scrolling distance. Hooking smooth scrolling up to the refresh driver timer is no longer part of the snappy scrolling work since it will not have a large impact on the responsiveness of scrolling. The last major work for snappy scrolling is bug 206438 which needs an owner. Jared has reached out to the extension author to see how he can help us with porting it to the platform.)
  • https://bugzilla.mozilla.org/show_bug.cgi?id=710372
  • (add backend dependencies)
  • Scrolling UX Gripes
    • Scrolling is worse than opera(acceleration, smoothness, and bounce) - (roc)
      • Turn smooth scrolling off for mousewheel or investigate
      • Smoothscroll should be replaced by 'smoothwheel' extension - Bug 206438 (needs an owner, Jared reached out to smoothscroll extension author on 2/15)
      • make sure high res mousewheel scrolling is hooked up on all platforms
      • tweak how far we scroll, physics
      • track scrolling performance(roc?)
      • Make a video to demonstrate the problem
      • cameron has been fixing touchpad
      • keyboard repeat drives scrolling rate
Peptest - mcote
  • Peptest back on try any day now...
  • bug 719618: still waiting on one more patch to land
  • bug 719511: mozharness fixed, should be re-enabled todayish.
Font chromehang fixes - John
  • collection of bugs found when turned on chromehang
  • John will aim to have fix reviewed by aurora branch day - complete?
  • Given the value of this fix might land it on aurora - status?
  • Jeff will follow up with John to try and get some help for this issue
  • John: updating patches for system font fallback today, 1/27
GC pause reduction - billm
CC pause reduction - smaug, mccr8 (meta bug 698919)
gfx d2d lag - jeff
  • need better heuristics to turn it off
  • need a plan to make us paint as well as IE
Firefox shutdown - rafael/bbondy
  • bug 662444
  • shutdown quickly and properly
  • 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
  • bbondy: bug 685027 - Closing last Firefox window takes longer to exit the process from Firefox > Exit (Was nothing was just due to notification service), will follup up with another bug but it isn't highest priority
ImageSuck
  • first step is bug 689623, tnikkel is working on it now