Hacker News new | ask | show | jobs
by jrogers65 4855 days ago
They mean that each function does relatively little work, so to render a given web page, the number of function calls (and therefore vtable lookups) is higher than in other browsers. This translates to more overheads and slower execution.
1 comments

Doesn't the compiler inline this kind of functions?
The article's claim is that the inheritance model in WebKit is too complex for the compiler to be able to inline it.

the extensive use of dynamic class inheritance prevents the compiler from efficiently inlining short functions as necessary

You can't easily inline _virtual_ functions.

MSVC with PGO will do it, by inserting a guard on the vtable pointer and inlining the most common implementation. But you still take the possible cache miss of reading the vtable pointer, of course. And the other commonly used compilers (clang and gcc) don't do anything like this, even with PGO.