forked from servo/servo
-
Notifications
You must be signed in to change notification settings - Fork 0
Meeting 2013 09 23
Seo Sanghyeon edited this page Sep 24, 2013
·
3 revisions
- korea work week
- mem leaks and crashes update
- reflow performance
kmc, jack, jdm, brson, pcwalton
- jack: plan for nov 11, but we're still waiting on approval, so don't book travel or anything yet.
- jack: what's the status on these?
- kmc: most of the crashes on exit. pcwalton's cpu rendering hasn't landed yet but i've started rebasing on it. the cpu rendering patches fix the visual glitches.
- jack: good but bad - more people will use cpu, gpu will rot.
- kmc: don't quite understand tradeoff. is cpu easier to parallelize?
- jack: gpu parallelizes automatically, and likely more effectively.
- ...
- jack: I think we need gpu for performance on mobile. patrick would remember more.
- jack: glitching also seems fixed by tim's patch (https://github.com/mozilla/servo/commit/5f600f0ec03d84d511744c4a8043d1f9dc81fb80)
- kmc: I think we concluded that it fixed different issues.
- jack: did the proxy tracing stuff land?
- jdm: nope. I'll do that.
- jack: will this cause crashes for us in general?
- jdm: if we fix document, we can get by. it's the largest consumer of proxies right now.
- jack: can't use code create proxies?
- jdm: yes, like element.getClientRectList(), however those are often short-lived and don't live through a GC
- jack: is wikipedia still a mess? do we crash on every other page?
- pcwalton:it's unstyled for me, never really notice crashes.
- kmc: I get a blank page with my current build.
- jack: if we want to demo, we have some tracking down to do.
- kmc: I can do it.
- jack: did we make any progress with the bengali bug?
- kmc: I didn't.
- jack: strange loop went well. demo went over really well, was flocked with questions afterwards.
- jack: final things for large demo: longcat frame, background color cycling (needs style setter)
- kmc: I'll be at blink-on tomorrow and wednesday, so not much coding will get done.
- jack: let's talk about reflow stuff.
- pcwalton: want to verify - notice that two reflows show up in gecko. believe that page is large, partway through parsing it starts reflow, then reflows rest later. seems accurate way to measure reflow is to sum time of both. gecko is 3x slower than I thought. rust upgrade improves servo reflow time by 2x. within 2x of gecko now, if assumptions are correct. algorithmic improvement to bubble widths makes us 2x faster for bubbling widths; going to try to get on par with gecko, I think we're pretty close. biggest problem is netsurfcss, ffi is slow, and abstractions are slow (converting to rust-css and back). inheritance is slow, closures aren't inlined. converted to return reference instead, better now, but still an indirect branch. think dynamic borrow checks are interfering when they shouldn't. overall feeling pretty good, going to compare to webkit once I get on par with gecko.
- jack: how much of a problem is netsurfcss?
- pcwalton: combination of netsurf and rust-css, hard to say now that we're inlining better and llvm mashes it all together. might be better for now to avoid calling accessor functions and copying structs into rust and directly manipulating members.
- ...
- pcwalton: bz said not hard to beat gecko if you don't do incremental reflows during parsing, but you want to do those. servo might have advantage due to background reflow.
- ...
- pcwalton: this is measuring constraint solving. computing positions of everything on page.
- jack: you're not measuring css parsing or cascade?
- pcwalton: no, just measuring completed style. otherwise measuring netsurf vs. gecko, not interesting comparison.
- jack: how close are we with eric on basic parallelization?
- pcwalton: didn't see phantom type stuff. didn't land?
- jack: that's not needed with owned flow tree. maybe if we parallelize the single traversal we could beat gecko.
- pcwalton: I think we might beat gecko anyways. nsBlockReflow doesn't look particularly effecient. we just need to focus on performance, which we haven't been.
- brson: anything left to do for summit?
- jack: need to provide build for three keynote presenters, train how to give demo. will talk about supporting session later today.
- brson: linked failure demo doesn't segfault? there's problem on rust side - linked task failure is racy, can cause segfault.
- jack: not any time when I've run it. however, I've noticed rust logo stops spinning maybe 20% of the time. not sure if JS stops executing or what.
- jack: strange loop seemed really impressed that we had anything to show at all. general impression seems to be vapourware.
- kmc: did you show acid1?
- jack: no. we should at summit.