rolandsteiner at google.com
Sun Jun 21 21:18:59 PDT 2009
as I will probably need to special-case height() for ruby InlineBox objects
in the same way as is done for SVG boxes (still ironing out the details,
though), making height() virtual was exactly my intent. I would have thought
that the performance cost of a virtual call to height() would be offset by
being able to remove the isSVG() condition inside (and later a potential
isRuby() condition as well).
Now if there are actual performance reasons for that bit and/or for having
height() be non-virtual, then I may need to find another solution.
On Fri, Jun 19, 2009 at 4:50 PM, David Hyatt <hyatt at apple.com> wrote:
> On Jun 18, 2009, at 9:38 PM, Eric Seidel wrote:
> Agreed. That should just be a virtual call. I don't see any reason
>> for that to need to be a bit on the baseclass. I do not think that
>> changing ti to be a virtual call would cause a noticeable performance
> You can test and see, but that bit was added as part of devirtualizing
> height(). Originally when I virtualized height() on InlineBoxes it caused
> about a 1% perf regression, so I tried to devirtualize as much as I could in
> order to fix the problem. If you make isSVG() virtual again, then you will
> cause height() to make a virtual function call every time again, and will
> probably re-introduce at least part of the perf regression.
> It's not clear to me why the bit being there is relevant to Ruby?
> (hyatt at apple.com)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the webkit-dev