[Webkit-unassigned] [Bug 75571] New: AtomicString::addSlowCase is too slow

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 4 13:44:01 PST 2012


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

           Summary: AtomicString::addSlowCase is too slow
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Web Template Framework
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: rniwa at webkit.org
                CC: sam at webkit.org, oliver at apple.com,
                    sullivan at chromium.org


Profiled WebKit r103959 while it was running DOM Attributes tests on http://dromaeo.com/?dom

It seems like we need to do something about AtomicString::addSlowCase. Maybe we're creating atomic string too often?

    6.6%    6.6%    JavaScriptCore    JSC::IdentifierTable::add(WTF::StringImpl*)
    5.8%    5.8%    JavaScriptCore    WTF::AtomicString::addSlowCase(WTF::StringImpl*)
    0.0%    4.2%    Unknown Library     0x1128e2e80 [unknown]
    0.0%    1.1%    Unknown Library     0x112a4b9a8 [unknown]
    0.0%    0.1%    WebCore     WebCore::JSHTMLElement::put(JSC::JSCell*, JSC::ExecState*, JSC::Identifier const&, JSC::JSValue, JSC::PutPropertySlot&)
    0.0%    0.1%    Unknown Library     0x2becb9401538 [unknown]
    0.0%    0.1%    WebCore     WebCore::setJSHTMLElementId(JSC::ExecState*, JSC::JSObject*, JSC::JSValue)
    0.0%    0.1%    WebCore     WebCore::jsElementPrototypeFunctionSetAttribute(JSC::ExecState*)
    0.0%    0.0%    Unknown Library     0x112ac1818 [unknown]
    0.0%    0.0%    Unknown Library     0x112a46020 [unknown]
    0.0%    0.0%    Unknown Library     0x11a7e0660 [unknown]
    0.0%    0.0%    Unknown Library     0x113b59b60 [unknown]
    0.0%    0.0%    Unknown Library     0x1195f74a8 [unknown]
    5.1%    5.1%    WebCore    WTF::HashTableIterator<WTF::StringImpl*, std::pair<WTF::StringImpl*, JSC::Weak<JSC::JSString> >, WTF::PairFirstExtractor<std::pair<WTF::StringImpl*, JSC::Weak<JSC::JSString> > >, WTF::StringHash, WTF::PairHashTraits<WTF::HashTraits<WTF::StringImpl*>, WTF::HashTraits<JSC::Weak<JSC::JSString> > >, WTF::HashTraits<WTF::StringImpl*> > WTF::HashTable<WTF::StringImpl*, std::pair<WTF::StringImpl*, JSC::Weak<JSC::JSString> >, WTF::PairFirstExtractor<std::pair<WTF::StringImpl*, JSC::Weak<JSC::JSString> > >, WTF::StringHash, WTF::PairHashTraits<WTF::HashTraits<WTF::StringImpl*>, WTF::HashTraits<JSC::Weak<JSC::JSString> > >, WTF::HashTraits<WTF::StringImpl*> >::find<WTF::IdentityHashTranslator<WTF::StringHash>, WTF::StringImpl*>(WTF::StringImpl* const&)
    3.5%    3.5%    WebCore    WebCore::JSHTMLElement::getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, JSC::Identifier const&, JSC::PropertySlot&)
    3.5%    3.5%    JavaScriptCore    JSC::MarkedBlock::sweep(JSC::MarkedBlock::SweepMode)
    3.1%    3.1%    Unknown Library    0x2becb9401640 [23.2KB]
    2.9%    2.9%    JavaScriptCore    JSC::JSValue::toPrimitiveString(JSC::ExecState*) const
    2.7%    2.7%    WebCore    bool WTF::HashTable<WTF::AtomicStringImpl*, WTF::AtomicStringImpl*, WTF::IdentityExtractor, WTF::PtrHash<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::AtomicStringImpl*> >::contains<WTF::IdentityHashTranslator<WTF::PtrHash<WTF::AtomicStringImpl*> >, WTF::AtomicStringImpl*>(WTF::AtomicStringImpl* const&) const
    2.7%    2.7%    JavaScriptCore    JSC::JSString::resolveRope(JSC::ExecState*) const
    2.6%    2.6%    JavaScriptCore    JSC::JSValue::get(JSC::ExecState*, JSC::Identifier const&, JSC::PropertySlot&) const
    2.5%    2.5%    WebCore    WebCore::jsString(JSC::ExecState*, WTF::String const&)
    2.5%    2.5%    WebCore    WebCore::Element::setAttribute(WTF::AtomicString const&, WTF::AtomicString const&, int&)
    2.4%    2.4%    WebCore    JSC::JSValue::toString(JSC::ExecState*) const
    2.2%    2.2%    WebCore    WebCore::Element::idAttributeChanged(WebCore::Attribute*)
    2.2%    2.2%    WebCore    WebCore::Element::getAttribute(WebCore::QualifiedName const&) const
    2.1%    2.1%    Unknown Library    0x2becb9407ee0 [8.6KB]
    2.0%    2.0%    WebCore    WebCore::JSHTMLHeadingElement::getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, JSC::Identifier const&, JSC::PropertySlot&)
    2.0%    2.0%    JavaScriptCore    WTF::StringImpl::lower()

-- 
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