On Sun, 21 Oct 2001, Jon Smirl wrote: > "L. David Baron" <[EMAIL PROTECTED]> wrote in message > [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > > What's the big advantage of drop-in components anyway? What's wrong with > > allowing people to redistribute a new layout dll that has mathml built in? > > (Yes, drop-in components would be nicer, but are the worth a significant > > performance cost for the cost of an installation that only happens once?) > > Because we today have MathML, SVG and XUL. People are already working on > ChemicalML, MoleculeML, MusicML, etc. Each of the will have to built into > the source code of layout/content. Ultimately we have to make plugable > markup languages based on XML namespaces. Componentizing also allows the > development of these languages to proceed independently of Mozilla.
That's great, and it should be a goal of Mozilla eventually, but the layout engine was not designed to be extensible, and we'd like to have a Mozilla 1.0 well before anyone has time to redesign the layout engine. > If Mozilla 1.0 ships without SVG, when SVG ships it will cause an immediate > fork in the Mozilla browser base, those with SVG and those without. The > later SVG capable Mozilla may also have a bunch of bugs fixed it other areas > causing bigger incompatibilities. Then people who want SVG can upgrade to 1.1. > I need to see some numbers to substantiate that virtual functions are 15% of > layout time. In my experience with layout engines the dominate time consumer > is measuring text. I said known to be 5%, perhaps 10%-15% or more. My evidence for the 5% was http://bugzilla.mozilla.org/show_bug.cgi?id=104336 (in particular, the 2001-10-16 22:21 comment). If deCOMtaminating one class gets us 5%, 10%-15% or more is a reasonable extrapolation. We do spend a bit of time measuring text, but not all that much compared to style resolution, all the function call overhead, copying of strings, state buildup and teardown, etc. On typical pages (as measured by the i-bench HTML load speed test, which I happen to have a profile of lying around -- I don't think jrgm's tests, which cover a greater variety, would yield results all that different) around 13% of the page load time is spent in Reflow, and only 12% of that time (or 1.5% of the total) is spent measuring text. And that's on Linux, with the costs of X11. > > That said, people are thinking about how to make layout extensible. > > However, the solution is not sprinkling |virtual| all over the code in the > > hopes that the layout engine will eventually be slow enough that it's > > extensible. :-) It should be neither necessary nor sufficient. > > Sprinkling virtual is not the solution. Designing an IDL file is the correct > solution. That requires designing an interface that will work, implementing the interface and implementing the code that uses the interface. If you can do that in the next few months without causing significant regressions, your contribution would be welcome. If not, I think it's a reasonable goal for Mozilla 2.0, but not for 1.0. -David -- L. David Baron <URL: http://www.people.fas.harvard.edu/~dbaron/ >
