summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-08-27 12:31:00 +0000
committerArne Juul <arnej@verizonmedia.com>2020-08-27 12:31:00 +0000
commit11a466a1fa59ca5ee5e08e609b43bdce2ab13f45 (patch)
tree8ae827a9f07605e554f2c80625f940b5cfcd6809 /eval
parentb9258d4a802db29c58eb6434f2c2f86e856f4337 (diff)
add unit tests for count_memory_used()
Diffstat (limited to 'eval')
-rw-r--r--eval/src/tests/tensor/direct_dense_tensor_builder/direct_dense_tensor_builder_test.cpp16
-rw-r--r--eval/src/tests/tensor/direct_sparse_tensor_builder/direct_sparse_tensor_builder_test.cpp4
2 files changed, 20 insertions, 0 deletions
diff --git a/eval/src/tests/tensor/direct_dense_tensor_builder/direct_dense_tensor_builder_test.cpp b/eval/src/tests/tensor/direct_dense_tensor_builder/direct_dense_tensor_builder_test.cpp
index 3f4641ed2ee..08333fa30f3 100644
--- a/eval/src/tests/tensor/direct_dense_tensor_builder/direct_dense_tensor_builder_test.cpp
+++ b/eval/src/tests/tensor/direct_dense_tensor_builder/direct_dense_tensor_builder_test.cpp
@@ -174,4 +174,20 @@ TEST("require that dense tensor cells iterator works for 2d tensor") {
EXPECT_FALSE(itr.valid());
}
+TEST("require that memory used count is reasonable") {
+ Tensor::UP full = build2DTensor();
+ const DenseTensorView &full_view = dynamic_cast<const DenseTensorView &>(*full);
+ DenseTensorView ref_view(full_view.fast_type(), full_view.cellsRef());
+
+ size_t full_sz = full->count_memory_used();
+ size_t view_sz = full_view.count_memory_used();
+ size_t ref_sz = ref_view.count_memory_used();
+
+ EXPECT_EQUAL(ref_sz, sizeof(DenseTensorView));
+ EXPECT_LESS(ref_sz, full_sz);
+ EXPECT_EQUAL(full_sz, view_sz);
+ EXPECT_LESS(full_sz, 10000u);
+ EXPECT_GREATER(full_sz, sizeof(DenseTensor<double>));
+}
+
TEST_MAIN() { TEST_RUN_ALL(); }
diff --git a/eval/src/tests/tensor/direct_sparse_tensor_builder/direct_sparse_tensor_builder_test.cpp b/eval/src/tests/tensor/direct_sparse_tensor_builder/direct_sparse_tensor_builder_test.cpp
index 86b6abedd39..f901b7775fd 100644
--- a/eval/src/tests/tensor/direct_sparse_tensor_builder/direct_sparse_tensor_builder_test.cpp
+++ b/eval/src/tests/tensor/direct_sparse_tensor_builder/direct_sparse_tensor_builder_test.cpp
@@ -99,6 +99,10 @@ TEST("Test essential object sizes") {
EXPECT_EQUAL(16u, sizeof(SparseTensorAddressRef));
EXPECT_EQUAL(24u, sizeof(std::pair<SparseTensorAddressRef, double>));
EXPECT_EQUAL(32u, sizeof(vespalib::hash_node<std::pair<SparseTensorAddressRef, double>>));
+ Tensor::UP tensor = buildTensor();
+ size_t used = tensor->count_memory_used();
+ EXPECT_GREATER(used, sizeof(SparseTensor));
+ EXPECT_LESS(used, 10000u);
}
TEST_MAIN() { TEST_RUN_ALL(); }