aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-11-29 13:35:18 +0100
committerGitHub <noreply@github.com>2018-11-29 13:35:18 +0100
commit1b378e87eaf64857ca914094a624952731f0c827 (patch)
tree29c83825671bc61437f01c7b0447410f55ec099c /searchlib/src
parentd4f2c2794f3ec369067298c5471d74d68a3aaf30 (diff)
parent13b0ebdd56a3c875ed3a9abd0f3abd8d574db61c (diff)
Merge pull request #7804 from vespa-engine/balder/randomize-keys
Balder/randomize keys
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstorebase.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstorebase.h3
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: