Bug 64863

Summary: Switch isPrimitiveValue() virtual function to inline one.
Product: WebKit Reporter: Tamas Czene <tczene>
Component: CSSAssignee: David Barr <davidbarr>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: davidbarr, dglazkov, hyatt, loki, shanestephens, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 64262    
Attachments:
Description Flags
Switch isPrimitiveValue virtual function to inline eric: review-, webkit.review.bot: commit-queue-

Description Tamas Czene 2011-07-20 05:08:57 PDT
Removing the virtual functions - removing the calls - makes measurable performance progression on CSS.

We measured the following performance progressions on some very popular websites, for example:
msn.com: 33%
yandex.ru: 3,3%

The number of variables created during the test.
m_isPrimitiveValue 261596
The max number of variables in the memory during the test.
m_isPrimitiveValue 468
Comment 1 Tamas Czene 2011-07-20 05:11:35 PDT
Created attachment 101453 [details]
Switch isPrimitiveValue virtual function to inline
Comment 2 WebKit Review Bot 2011-07-20 05:42:40 PDT
Comment on attachment 101453 [details]
Switch isPrimitiveValue virtual function to inline

Attachment 101453 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9200235

New failing tests:
css2.1/t1202-counter-16-f.html
css2.1/t1202-counters-03-b.html
css2.1/t1202-counter-12-b.html
css2.1/t1202-counter-08-b.html
css2.1/t1202-counter-02-b.html
css2.1/t1202-counter-14-b.html
css2.1/t1202-counter-00-b.html
css2.1/t1202-counter-09-b.html
css2.1/t1202-counter-15-b.html
css2.1/t1202-counter-05-b.html
css2.1/t1202-counter-07-b.html
css2.1/t1202-counter-06-b.html
css2.1/t1202-counter-01-b.html
css2.1/t1202-counter-03-b.html
css2.1/t1202-counters-02-b.html
css2.1/t1202-counter-04-b.html
css2.1/t1202-counters-01-b.html
css2.1/t1202-counter-13-b.html
css2.1/t1202-counter-11-b.html
css2.1/t1202-counters-00-b.html
Comment 3 Dave Hyatt 2011-07-20 13:25:44 PDT
See my comments in https://bugs.webkit.org/show_bug.cgi?id=64262.
Comment 4 Eric Seidel (no email) 2011-09-12 17:00:07 PDT
Comment on attachment 101453 [details]
Switch isPrimitiveValue virtual function to inline

How much of a memory regression is this?
Comment 5 David Barr 2011-10-11 17:09:45 PDT
I believe there are some wasted bits that could be put to good use for a perf enhancement without increasing the memory overhead. Please give a chance to upload an RFC patch and some repeatable numbers.
Comment 6 David Barr 2012-01-08 15:27:53 PST
The action requested in this bug was taken in:
http://trac.webkit.org/changeset/99468

*** This bug has been marked as a duplicate of bug 71668 ***