Performance/Snappy/2012-01-12
From MozillaWiki
< Performance | Snappy
- 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