[Webkit-unassigned] [Bug 75569] DOM Attribute tests on Dromaeo spends 2.7% of time in hasSelectorForAttribute

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 4 21:47:05 PST 2012


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





--- Comment #1 from Ryosuke Niwa <rniwa at webkit.org>  2012-01-04 21:47:04 PST ---
It seems like just checking needsStyleRecalc() first suffice to improve the performance here.

After adding the check, we get:

    6.1%    6.1%    JavaScriptCore    JSC::IdentifierTable::add(WTF::StringImpl*)
    5.4%    5.4%    JavaScriptCore    WTF::AtomicString::addSlowCase(WTF::StringImpl*)
    4.7%    4.7%    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.6%    3.6%    Unknown Library    0x5c76577ee160 [11.3KB]
    3.1%    3.1%    WebCore    WebCore::JSHTMLElement::getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, JSC::Identifier const&, JSC::PropertySlot&)
    3.1%    3.1%    JavaScriptCore    JSC::MarkedBlock::sweep(JSC::MarkedBlock::SweepMode)
    3.0%    3.0%    WebCore    WebCore::jsString(JSC::ExecState*, WTF::String const&)
    2.9%    2.9%    WebCore    WebCore::Element::setAttribute(WTF::AtomicString const&, WTF::AtomicString const&, int&)
    2.9%    2.9%    JavaScriptCore    JSC::JSValue::toPrimitiveString(JSC::ExecState*) const
    2.7%    2.7%    WebCore    WebCore::JSHTMLHeadingElement::getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, JSC::Identifier const&, JSC::PropertySlot&)
    2.7%    2.7%    WebCore    JSC::JSValue::toString(JSC::ExecState*) 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.4%    2.4%    Unknown Library    0x5c76577b2980 [5.3KB]
    2.4%    2.4%    WebCore    WebCore::Element::idAttributeChanged(WebCore::Attribute*)
    2.3%    2.3%    JavaScriptCore    WTF::StringImpl::lower()
    2.2%    2.2%    WebCore    WebCore::Element::getAttribute(WebCore::QualifiedName const&) const
    2.2%    2.2%    WebCore    WebCore::jsElementPrototypeFunctionSetAttribute(JSC::ExecState*)
    2.0%    2.0%    JavaScriptCore    WTF::AtomicString::lower() const
    1.9%    1.9%    WebCore    WebCore::jsElementPrototypeFunctionGetAttribute(JSC::ExecState*)
    1.9%    1.9%    WebCore    WebCore::StyledElement::attributeChanged(WebCore::Attribute*, bool)
    1.8%    1.8%    JavaScriptCore    JSC::JSString::destroy(JSC::JSCell*)
    1.7%    1.7%    JavaScriptCore    WTF::tryFastMalloc(unsigned long)
    1.7%    1.7%    WebCore    WebCore::Element::setAttribute(WebCore::QualifiedName const&, WTF::AtomicString const&)
    1.6%    1.6%    WebCore    WebCore::JSHTMLAnchorElement::put(JSC::JSCell*, JSC::ExecState*, JSC::Identifier const&, JSC::JSValue, JSC::PutPropertySlot&)
    1.3%    1.3%    Unknown Library    0x5c7657646900 [5.4KB]
    1.3%    1.3%    JavaScriptCore    JSC::JSObject::put(JSC::JSCell*, JSC::ExecState*, JSC::Identifier const&, JSC::JSValue, JSC::PutPropertySlot&)
    1.2%    1.2%    WebCore    WebCore::JSHTMLElement::put(JSC::JSCell*, JSC::ExecState*, JSC::Identifier const&, JSC::JSValue, JSC::PutPropertySlot&)
    1.2%    1.2%    WebCore    WebCore::HTMLAnchorElement::parseMappedAttribute(WebCore::Attribute*)
    1.0%    1.0%    JavaScriptCore    operationGetByVal
    1.0%    1.0%    Unknown Library    0x5c765761a200 [1.9KB]
    1.0%    1.0%    JavaScriptCore    cti_op_put_by_val

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