diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2019-10-09 20:30:42 +0200 |
---|---|---|
committer | Julien Nabet <serval2412@yahoo.fr> | 2019-10-10 07:55:00 +0200 |
commit | 25a3658f514e644ca89294530f1cd5398795dcfb (patch) | |
tree | ca63646a4850b5431401d9f6fbc3056cb95c92e5 | |
parent | d55320b95b40770986a7bce9ab96fbd570dd8cb7 (diff) |
Revert "Optimize getNamespaceId (xmlreader)"
This reverts commit def00961243da0662f394bdf58b1157cfd45dfab.
Finally after other tests, it doesn't improve perfs
Change-Id: Icbaaf751181069dd36dba0c676a4c9a2a6c8a9f3
Reviewed-on: https://gerrit.libreoffice.org/80565
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
-rw-r--r-- | include/xmlreader/span.hxx | 14 | ||||
-rw-r--r-- | include/xmlreader/xmlreader.hxx | 2 | ||||
-rw-r--r-- | xmlreader/source/span.cxx | 4 | ||||
-rw-r--r-- | xmlreader/source/xmlreader.cxx | 11 |
4 files changed, 0 insertions, 31 deletions
diff --git a/include/xmlreader/span.hxx b/include/xmlreader/span.hxx index a3da663e5a71..bc2dbaacbe56 100644 --- a/include/xmlreader/span.hxx +++ b/include/xmlreader/span.hxx @@ -24,7 +24,6 @@ #include <cstddef> #include <cstring> -#include <functional> #include <sal/types.h> #include <xmlreader/detail/xmlreaderdllapi.hxx> @@ -77,19 +76,6 @@ struct SAL_WARN_UNUSED OOO_DLLPUBLIC_XMLREADER Span { } rtl::OUString convertFromUtf8() const; - - std::size_t hashCode() const; -}; - -} - -namespace std { - -template<> -struct hash<::xmlreader::Span> -{ - std::size_t operator()(::xmlreader::Span const & s) const - { return s.hashCode(); } }; } diff --git a/include/xmlreader/xmlreader.hxx b/include/xmlreader/xmlreader.hxx index 99e889ee0d59..4e9f1347a7e5 100644 --- a/include/xmlreader/xmlreader.hxx +++ b/include/xmlreader/xmlreader.hxx @@ -23,7 +23,6 @@ #include <sal/config.h> #include <stack> -#include <unordered_map> #include <vector> #include <osl/file.h> @@ -173,7 +172,6 @@ private: void * fileAddress_; NamespaceIris namespaceIris_; NamespaceList namespaces_; - mutable std::unordered_map<Span, int> cacheNSIds_; ElementStack elements_; char const * pos_; char const * end_; diff --git a/xmlreader/source/span.cxx b/xmlreader/source/span.cxx index 300c0a2e99b3..29433c561fb7 100644 --- a/xmlreader/source/span.cxx +++ b/xmlreader/source/span.cxx @@ -46,10 +46,6 @@ OUString Span::convertFromUtf8() const { return OUString(s, SAL_NO_ACQUIRE); } -std::size_t Span::hashCode() const { - return rtl_str_hashCode_WithLength(begin, length); -} - } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmlreader/source/xmlreader.cxx b/xmlreader/source/xmlreader.cxx index 918f42a2e1b2..85027b66ee99 100644 --- a/xmlreader/source/xmlreader.cxx +++ b/xmlreader/source/xmlreader.cxx @@ -182,19 +182,11 @@ Span XmlReader::getAttributeValue(bool fullyNormalize) { } int XmlReader::getNamespaceId(Span const & prefix) const { - if (auto it = cacheNSIds_.find(prefix); it != cacheNSIds_.end()) - { - return it->second; - } - auto i = std::find_if(namespaces_.crbegin(), namespaces_.crend(), [&prefix](const NamespaceData& rNamespaceData) { return prefix == rNamespaceData.prefix; }); if (i != namespaces_.rend()) - { - cacheNSIds_[i->prefix]= i->nsId; return i->nsId; - } return NAMESPACE_UNKNOWN; } @@ -714,10 +706,7 @@ XmlReader::Result XmlReader::handleEndTag() { void XmlReader::handleElementEnd() { assert(!elements_.empty()); - // remove keys from cache that are no longer valid auto end = elements_.top().inheritedNamespaces; - for (auto i = end; i < namespaces_.size(); ++i) - cacheNSIds_.erase(namespaces_[i].prefix); namespaces_.resize(end); elements_.pop(); state_ = elements_.empty() ? State::Done : State::Content; |