aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2021-12-08 20:52:24 +0100
committerTor Egge <Tor.Egge@online.no>2021-12-08 21:06:01 +0100
commit993565d2b2c4662c73990c64bdf2efc8ca892ea5 (patch)
tree50625160442db979c1dc4323dd4f236ffd016d62 /searchlib
parent1a1c4ce8d54b45ecd6bd0419343d44d35164c4e4 (diff)
Add IEnumStore::get_values_address_space_usage() abstract member function.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/attribute/enumstore/enumstore_test.cpp10
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.hpp4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/i_enum_store.h9
5 files changed, 17 insertions, 10 deletions
diff --git a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
index 06ee0060c7a..33477e015d6 100644
--- a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
+++ b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
@@ -362,16 +362,16 @@ TEST(EnumStoreTest, address_space_usage_is_reported)
NumericEnumStore store(false, DictionaryConfig::Type::BTREE);
using vespalib::AddressSpace;
- EXPECT_EQ(AddressSpace(1, 1, ADDRESS_LIMIT), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(1, 1, ADDRESS_LIMIT), store.get_values_address_space_usage());
EnumIndex idx1 = store.insert(10);
- EXPECT_EQ(AddressSpace(2, 1, ADDRESS_LIMIT), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(2, 1, ADDRESS_LIMIT), store.get_values_address_space_usage());
EnumIndex idx2 = store.insert(20);
// Address limit increases because buffer is re-sized.
- EXPECT_EQ(AddressSpace(3, 1, ADDRESS_LIMIT + 2), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(3, 1, ADDRESS_LIMIT + 2), store.get_values_address_space_usage());
dec_ref_count(store, idx1);
- EXPECT_EQ(AddressSpace(3, 2, ADDRESS_LIMIT + 2), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(3, 2, ADDRESS_LIMIT + 2), store.get_values_address_space_usage());
dec_ref_count(store, idx2);
- EXPECT_EQ(AddressSpace(3, 3, ADDRESS_LIMIT + 2), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(3, 3, ADDRESS_LIMIT + 2), store.get_values_address_space_usage());
}
class BatchUpdaterTest : public ::testing::Test {
diff --git a/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp
index 2c6ac521b30..3e578856c2b 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp
@@ -81,7 +81,7 @@ void
EnumAttribute<B>::populate_address_space_usage(AddressSpaceUsage& usage) const
{
B::populate_address_space_usage(usage);
- usage.set(AddressSpaceComponents::enum_store, _enumStore.get_address_space_usage());
+ usage.set(AddressSpaceComponents::enum_store, _enumStore.get_values_address_space_usage());
}
} // namespace search
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.h b/searchlib/src/vespa/searchlib/attribute/enumstore.h
index 12871c967ff..9dba988fb6a 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.h
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.h
@@ -96,7 +96,7 @@ public:
vespalib::MemoryUsage get_values_memory_usage() const override { return _store.get_allocator().get_data_store().getMemoryUsage(); }
vespalib::MemoryUsage get_dictionary_memory_usage() const override { return _dict->get_memory_usage(); }
- vespalib::AddressSpace get_address_space_usage() const;
+ vespalib::AddressSpace get_values_address_space_usage() const override;
void transfer_hold_lists(generation_t generation);
void trim_hold_lists(generation_t first_used);
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
index 2c985d2edf5..c5d377c6b19 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
@@ -92,9 +92,9 @@ EnumStoreT<EntryT>::~EnumStoreT() = default;
template <typename EntryT>
vespalib::AddressSpace
-EnumStoreT<EntryT>::get_address_space_usage() const
+EnumStoreT<EntryT>::get_values_address_space_usage() const
{
- return _store.get_address_space_usage();
+ return _store.get_values_address_space_usage();
}
template <typename EntryT>
diff --git a/searchlib/src/vespa/searchlib/attribute/i_enum_store.h b/searchlib/src/vespa/searchlib/attribute/i_enum_store.h
index 558cc275f38..cfd7a330d2c 100644
--- a/searchlib/src/vespa/searchlib/attribute/i_enum_store.h
+++ b/searchlib/src/vespa/searchlib/attribute/i_enum_store.h
@@ -6,7 +6,13 @@
#include "enum_store_types.h"
#include <vespa/vespalib/datastore/entryref.h>
#include <vespa/vespalib/datastore/unique_store_enumerator.h>
-#include <vespa/vespalib/util/memoryusage.h>
+
+namespace vespalib {
+
+class AddressSpace;
+class MemoryUsage;
+
+}
namespace vespalib::datastore {
@@ -52,6 +58,7 @@ public:
virtual const IEnumStoreDictionary& get_dictionary() const = 0;
virtual uint32_t get_num_uniques() const = 0;
virtual vespalib::MemoryUsage get_values_memory_usage() const = 0;
+ virtual vespalib::AddressSpace get_values_address_space_usage() const = 0;
virtual vespalib::MemoryUsage get_dictionary_memory_usage() const = 0;
virtual vespalib::MemoryUsage update_stat() = 0;
virtual std::unique_ptr<EnumIndexRemapper> consider_compact_values(const CompactionStrategy& compaction_strategy) = 0;