[Webkit-unassigned] [Bug 99383] New: [v8] 15+% of Dromaeo/dom-query is spent creating AtomicStrings for "div", "*" constants passed from V8

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Oct 15 16:17:40 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=99383

           Summary: [v8] 15+% of Dromaeo/dom-query is spent creating
                    AtomicStrings for "div", "*" constants passed from V8
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: New Bugs
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: eric at webkit.org
                CC: abarth at webkit.org, haraken at chromium.org


[v8] 15+% of Dromaeo/dom-query is spent creating AtomicStrings for "div", "*" constants passed from V8

bug 99118 is the JSC equivalent of this bug.

I don't know how v8 stores it's constant strings, but it may be possible for us to do this AtomicString lookup for these constants once and cache it, instead of repeatedly creating a new AtomicString for "*", "div", etc. every time it's passed to getElementsByTagName, etc. in a loop:

Example sub-test:

        test( "getElementsByTagName(div)", function(){
                for ( var i = 0; i < num; i++ ) {
                        var elems = document.getElementsByTagName("div");
                        ret = elems[elems.length-1].nodeType;
                }
        });

15+% of time will be spent creating the AtomicString for "div", as we have to create a new one each time we call getElementsByTagNameCallback in V8DocumentInternals.cpp

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list