diff options
Diffstat (limited to 'svl/source')
-rw-r--r-- | svl/source/items/globalpool.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/svl/source/items/globalpool.cxx b/svl/source/items/globalpool.cxx index 313db586a566..32ca159fe7a7 100644 --- a/svl/source/items/globalpool.cxx +++ b/svl/source/items/globalpool.cxx @@ -22,6 +22,7 @@ #include <svl/poolitem.hxx> #include <svl/setitem.hxx> #include <sal/log.hxx> +#include <o3tl/sorted_vector.hxx> #include <unordered_map> #include <unordered_set> #include <memory> @@ -102,7 +103,9 @@ struct ItemInstanceManager // that specific Item (see other derivations) struct DefaultItemInstanceManager : public ItemInstanceManager { - std::unordered_set<const SfxPoolItem*> maRegistered; + // This workload is very read-heavy, and we want to scan the candidates often, so + // a vector-based data structure is faster. + o3tl::sorted_vector<const SfxPoolItem*> maRegistered; virtual const SfxPoolItem* find(const SfxPoolItem& rItem) const override { |