summaryrefslogtreecommitdiffstats
path: root/searchcommon
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-01-29 15:18:47 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-01-29 15:18:47 +0000
commitb30813a6e74187ba07d7f70dbd1986659ed1990b (patch)
tree8ad79c86836a89e81a556e0acfd174ff5444aeb4 /searchcommon
parent90c844e2b4441653f7caf8eb1f26b703a3fb5526 (diff)
Be consistent with factors and percentages
Diffstat (limited to 'searchcommon')
-rw-r--r--searchcommon/src/tests/attribute/config/attribute_config_test.cpp10
-rw-r--r--searchcommon/src/vespa/searchcommon/common/growstrategy.h23
2 files changed, 20 insertions, 13 deletions
diff --git a/searchcommon/src/tests/attribute/config/attribute_config_test.cpp b/searchcommon/src/tests/attribute/config/attribute_config_test.cpp
index d0a2f693473..99de79b8976 100644
--- a/searchcommon/src/tests/attribute/config/attribute_config_test.cpp
+++ b/searchcommon/src/tests/attribute/config/attribute_config_test.cpp
@@ -7,6 +7,7 @@ using search::attribute::Config;
using search::attribute::BasicType;
using search::attribute::CollectionType;
using vespalib::eval::ValueType;
+using search::GrowStrategy;
struct Fixture
@@ -100,5 +101,14 @@ TEST("test operator== on attribute config for tensor type")
EXPECT_TRUE(cfg1 != cfg3);
}
+TEST("Test GrowStrategy consistency") {
+ GrowStrategy g(1024, 0.5, 17, 0.4f);
+ EXPECT_EQUAL(1024u, g.getDocsInitialCapacity());
+ EXPECT_EQUAL(50u, g.getDocsGrowPercent());
+ EXPECT_EQUAL(0.5, g.getDocsGrowFactor());
+ EXPECT_EQUAL(17u, g.getDocsGrowDelta());
+ EXPECT_EQUAL(0.4f, g.getMultiValueAllocGrowFactor());
+}
+
TEST_MAIN() { TEST_RUN_ALL(); }
diff --git a/searchcommon/src/vespa/searchcommon/common/growstrategy.h b/searchcommon/src/vespa/searchcommon/common/growstrategy.h
index f772d9f8e10..5af9f9f16fe 100644
--- a/searchcommon/src/vespa/searchcommon/common/growstrategy.h
+++ b/searchcommon/src/vespa/searchcommon/common/growstrategy.h
@@ -10,32 +10,29 @@ class GrowStrategy
{
private:
uint32_t _docsInitialCapacity;
- uint32_t _docsGrowPercent;
+ float _docsGrowFactor;
uint32_t _docsGrowDelta;
float _multiValueAllocGrowFactor;
public:
GrowStrategy()
- : GrowStrategy(1024, 50, 0, 0.2)
+ : GrowStrategy(1024, 0.5, 0, 0.2)
{}
- GrowStrategy(uint32_t docsInitialCapacity,
- uint32_t docsGrowPercent,
- uint32_t docsGrowDelta,
- float multiValueAllocGrowFactor)
+ GrowStrategy(uint32_t docsInitialCapacity, float docsGrowPercent,
+ uint32_t docsGrowDelta, float multiValueAllocGrowFactor)
: _docsInitialCapacity(docsInitialCapacity),
- _docsGrowPercent(docsGrowPercent),
+ _docsGrowFactor(docsGrowPercent),
_docsGrowDelta(docsGrowDelta),
_multiValueAllocGrowFactor(multiValueAllocGrowFactor)
{
}
- static GrowStrategy make(uint32_t docsInitialCapacity,
- uint32_t docsGrowPercent,
- uint32_t docsGrowDelta) {
- return GrowStrategy(docsInitialCapacity, docsGrowPercent, docsGrowDelta, 0.2);
+ static GrowStrategy make(uint32_t docsInitialCapacity, float docsGrowFactor, uint32_t docsGrowDelta) {
+ return GrowStrategy(docsInitialCapacity, docsGrowFactor, docsGrowDelta, 0.2);
}
uint32_t getDocsInitialCapacity() const { return _docsInitialCapacity; }
- uint32_t getDocsGrowPercent() const { return _docsGrowPercent; }
+ uint32_t getDocsGrowPercent() const { return _docsGrowFactor*100; }
+ float getDocsGrowFactor() const { return _docsGrowFactor; }
uint32_t getDocsGrowDelta() const { return _docsGrowDelta; }
float getMultiValueAllocGrowFactor() const { return _multiValueAllocGrowFactor; }
void setDocsInitialCapacity(uint32_t v) { _docsInitialCapacity = v; }
@@ -43,7 +40,7 @@ public:
bool operator==(const GrowStrategy & rhs) const {
return _docsInitialCapacity == rhs._docsInitialCapacity &&
- _docsGrowPercent == rhs._docsGrowPercent &&
+ _docsGrowFactor == rhs._docsGrowFactor &&
_docsGrowDelta == rhs._docsGrowDelta &&
_multiValueAllocGrowFactor == rhs._multiValueAllocGrowFactor;
}