WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
Bug 75571
AtomicString::addSlowCase is too slow
https://bugs.webkit.org/show_bug.cgi?id=75571
Summary
AtomicString::addSlowCase is too slow
Ryosuke Niwa
Reported
2012-01-04 13:44:01 PST
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()
Attachments
Add attachment
proposed patch, testcase, etc.
Eric Seidel (no email)
Comment 1
2012-10-11 18:51:04 PDT
I suspect this would be fixed by
bug 99118
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug