diff options
author | Tor Egge <Tor.Egge@online.no> | 2023-06-26 14:01:55 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2023-06-26 14:01:55 +0200 |
commit | b0eda0e4a90d6abb9a8a7ce7831dee4cf19a2f3e (patch) | |
tree | 7b1dc6109bfda259c5f523514ebc66174be93e22 /searchlib/src/tests/tensor | |
parent | 0c341f8ed39b3edcd1938d964cbdf9ce7c179411 (diff) |
Cap number of entries in a dense tensor store buffer to avoid very
large buffers.
Diffstat (limited to 'searchlib/src/tests/tensor')
-rw-r--r-- | searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp b/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp index 26ef57aab65..87420e8939f 100644 --- a/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp +++ b/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp @@ -9,6 +9,7 @@ LOG_SETUP("dense_tensor_store_test"); #include <vespa/eval/eval/value.h> #include <vespa/eval/eval/value_type.h> #include <vespa/eval/eval/test/value_compare.h> +#include <vespa/vespalib/util/size_literals.h> using search::tensor::DenseTensorStore; using vespalib::eval::SimpleValue; @@ -90,5 +91,26 @@ TEST("require that array size is calculated correctly") TEST_DO(assertArraySize("tensor<int8>(x[65])", 96)); } +void +assert_max_buffer_entries(const vespalib::string& tensor_type, uint32_t exp_entries) +{ + Fixture f(tensor_type); + EXPECT_EQUAL(exp_entries, f.store.get_max_buffer_entries()); +} + +TEST("require that max entries is calculated correctly") +{ + TEST_DO(assert_max_buffer_entries("tensor(x[1])", 1_Mi)); + TEST_DO(assert_max_buffer_entries("tensor(x[32])", 1_Mi)); + TEST_DO(assert_max_buffer_entries("tensor(x[64])", 512_Ki)); + TEST_DO(assert_max_buffer_entries("tensor(x[1024])", 32_Ki)); + TEST_DO(assert_max_buffer_entries("tensor(x[1024])", 32_Ki)); + TEST_DO(assert_max_buffer_entries("tensor(x[16777216])", 2)); + TEST_DO(assert_max_buffer_entries("tensor(x[33554428])", 2)); + TEST_DO(assert_max_buffer_entries("tensor(x[33554429])", 1)); + TEST_DO(assert_max_buffer_entries("tensor(x[33554432])", 1)); + TEST_DO(assert_max_buffer_entries("tensor(x[303554432])", 1)); +} + TEST_MAIN() { TEST_RUN_ALL(); } |