From d1dcedaccfd5adfd661724476003410d5d251756 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 8 Apr 2016 20:32:49 +0200 Subject: [PATCH] experimental session-save speedup property order is not important, unordered_map lookup and insertion is O(1) --- libs/pbd/pbd/xml++.h | 4 ++-- libs/pbd/xml++.cc | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libs/pbd/pbd/xml++.h b/libs/pbd/pbd/xml++.h index 8e0e015870..7b8649873a 100644 --- a/libs/pbd/pbd/xml++.h +++ b/libs/pbd/pbd/xml++.h @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include @@ -50,7 +50,7 @@ typedef XMLNodeList::const_iterator XMLNodeConstIterator; typedef std::list XMLPropertyList; typedef XMLPropertyList::iterator XMLPropertyIterator; typedef XMLPropertyList::const_iterator XMLPropertyConstIterator; -typedef std::map XMLPropertyMap; +typedef std::unordered_map XMLPropertyMap; class LIBPBD_API XMLTree { public: diff --git a/libs/pbd/xml++.cc b/libs/pbd/xml++.cc index 963531c5f5..cc583fe86e 100644 --- a/libs/pbd/xml++.cc +++ b/libs/pbd/xml++.cc @@ -408,7 +408,7 @@ XMLProperty* XMLNode::property(const char* n) { string ns(n); - map::iterator iter; + unordered_map::iterator iter; if ((iter = _propmap.find(ns)) != _propmap.end()) { return iter->second; @@ -420,7 +420,7 @@ XMLNode::property(const char* n) XMLProperty* XMLNode::property(const string& ns) { - map::iterator iter; + unordered_map::iterator iter; if ((iter = _propmap.find(ns)) != _propmap.end()) { return iter->second; @@ -433,7 +433,7 @@ XMLProperty* XMLNode::add_property(const char* n, const string& v) { string ns(n); - map::iterator iter; + unordered_map::iterator iter; if ((iter = _propmap.find(ns)) != _propmap.end()) { iter->second->set_value (v); -- 2.30.2