Performance/Snappy/2012-01-12

From MozillaWiki
Jump to: navigation, search
  • taras blogged on slow sessions - nobody wants to give up their session file
  • no visibility into what sessions consist of
  • maybe need add-on for visualizing session contents
  • maybe one for scrubbing session contents - leavinng only structure
  • taras suspects slow tab animations for large sessions
  • need data from the wild for confirmation of specific pages causing problems
  • TODO: file bug on slow tab animations - could construct 900 tab session to test for example
  • something
  • dmandelin: sqlite is close to top of list of jank causes
  • session restore sometimes
  • gc is huge cause of short/middle length jank
  • main thread IO shows up, don't know specifics yet
  • some locks on main thread - 800 - 3000ms
  • cycle collector sometimes serious, sometimes not
  • taras said d2d drawing is a cause
  • youtube unusable for some people
  • flash and plugin stuff - anecdotally ("disable flash, everything is fine")
  • github: copy/paste icon for each commit, is flash.
  • jquery check for java enabled
  • something about painting, addons and d2d with jeffm (gah, i should turn off irc during note-taking)
  • cycle collector update from jst
  • lots of work going on, landings soon
  • much improvement
  • taras: do we need telemetry to see if thigns actually improve after landing
  • jst: seeing local improvements, but real data wouldn't hurt
  • jst: 4x improvements
  • yay smaug and andrewm for working on this
  • leaks no longer impact cc times w/ these patches
  • landings in next couple of weeks
  • dman: would be nice if telemetry showed median, more contextual stats -
  • notetaker got distracted again
  • some discussion about Chrome's approach to zerocycle
  • some smaug patches point at some approaches to killing js cycles
  • dman: what would be "good enough" for cc pauses
  • smaug investigates >50ms pauses
  • adblock+ exhibiting oddly long pauses
  • jst: should target 60ms so always getting 60fps?
  • dman: "can you watch a movie w/o jank?" eg
  • jst: make things more incremental everywhere
  • jst: future where we can render video through a long cc/gc pause
  • rjes: yes, that's required for things like webrtc
  • andrew: current telemetry doesn't catch things like gc/cc regressions
  • dman: lots of times zero objects collected - does that mean we collect too often?
  • and: every time we gc we follow w/ cc, which is overkill
  • jst: history on scheduling is ungood - could improve

projects

  • dman: what should js profiling measure?
  • taras: high level, should be able to do tab-level accounting
  • cumulative time-spent in tab
  • jst: might be useful to have Process Explorer style view of tabs and resources used
  • eg: "time in js", etc, auto-refreshing
  • reflows
  • taras: when can you assign someone on this
  • jst: dunno yet.
  • timers on background tabs
  • something about coalescing all the timers
  • dman: scheduling the timers to de-jankify (<- new word win)
  • jst: walking the balance between jankiness and batter
  • dman: sample and predict how long it'll take the timers to run
  • taras: could unclamp when possible
  • and: scheduling cc based on previous patterns - slow down in bad state, etc
  • telemetry: no front-end telemetry update
  • dman: what's top thing should measure?
  • dietrich: maybe should base that on support and anecdotal complaints
  • taras: should be session restore data
  • cache: compression landed
  • dman: know anything about cache lock?
  • nick: shouldn't still happen
  • profiler
  • what's status on getting stack-walking working on mac
  • yes, some progress
  • no work on linux yet - just resource-less there
  • graphics harness for fps - harness, api?
  • jeff sending link to taras to blog
  • nondestructive chromehang
  • scrolling
  • jared: patches in review cycle for some
  • clicking quickly: waiting on new patch
  • interruptible js: some new crazy ideas, but nothing concrete, so kinda drop for now
  • peptest: waiting for changes to land - won't be on by default
  • waiting to get sps stuff into peptest for developer diagnosis tool
  • test for session restore - how responsive while restoring session
  • not much can do if causing reflows, but sstill useful data
  • slowsql no updates
  • inline autocomplete: coming, needs final reviews
  • no new triage until progress on existing projects
  • bye bye