diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-11-29 13:35:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-29 13:35:18 +0100 |
commit | 1b378e87eaf64857ca914094a624952731f0c827 (patch) | |
tree | 29c83825671bc61437f01c7b0447410f55ec099c /searchlib/src | |
parent | d4f2c2794f3ec369067298c5471d74d68a3aaf30 (diff) | |
parent | 13b0ebdd56a3c875ed3a9abd0f3abd8d574db61c (diff) |
Merge pull request #7804 from vespa-engine/balder/randomize-keys
Balder/randomize keys
Diffstat (limited to 'searchlib/src')
3 files changed, 6 insertions, 3 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp index 6a5777b5696..527b869431d 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp +++ b/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp @@ -104,7 +104,7 @@ EnumAttribute<B>::insertNewUniqueValues(EnumStoreBase::IndexVector & newIndexes) this->_enumStore.getPendingCompact()) { this->removeAllOldGenerations(); this->_enumStore.clearPendingCompact(); - EnumIndexMap old2New(this->_enumStore.getNumUniques()); + EnumIndexMap old2New(this->_enumStore.getNumUniques()*3); if (!this->_enumStore.performCompaction(extraBytesNeeded, old2New)) { // fallback to resize strategy this->_enumStore.fallbackResize(extraBytesNeeded); diff --git a/searchlib/src/vespa/searchlib/attribute/enumstorebase.cpp b/searchlib/src/vespa/searchlib/attribute/enumstorebase.cpp index f829016fd30..20c66993486 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumstorebase.cpp +++ b/searchlib/src/vespa/searchlib/attribute/enumstorebase.cpp @@ -636,4 +636,6 @@ namespace attribute { } -template class vespalib::hash_map<search::EnumStoreIndex, search::EnumStoreIndex>; +template class vespalib::hash_map<search::EnumStoreIndex, search::EnumStoreIndex, + vespalib::hash<search::EnumStoreIndex>, std::equal_to<search::EnumStoreIndex>, + vespalib::hashtable_base::and_modulator>; diff --git a/searchlib/src/vespa/searchlib/attribute/enumstorebase.h b/searchlib/src/vespa/searchlib/attribute/enumstorebase.h index 70cb6abc0ea..6b5ba3eca56 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumstorebase.h +++ b/searchlib/src/vespa/searchlib/attribute/enumstorebase.h @@ -166,7 +166,8 @@ public: typedef EnumStoreIndex Index; typedef EnumStoreIndexVector IndexVector; typedef EnumStoreEnumVector EnumVector; - using EnumIndexMap = vespalib::hash_map<Index, Index>; + using EnumIndexMap = vespalib::hash_map<Index, Index, vespalib::hash<Index>, std::equal_to<Index>, + vespalib::hashtable_base::and_modulator>; class EntryBase { protected: |