diff options
-rw-r--r-- | eval/src/tests/instruction/generic_join/generic_join_test.cpp | 12 | ||||
-rw-r--r-- | eval/src/vespa/eval/instruction/generic_join.h | 22 |
2 files changed, 17 insertions, 17 deletions
diff --git a/eval/src/tests/instruction/generic_join/generic_join_test.cpp b/eval/src/tests/instruction/generic_join/generic_join_test.cpp index 994e67934e7..181f44d0f2e 100644 --- a/eval/src/tests/instruction/generic_join/generic_join_test.cpp +++ b/eval/src/tests/instruction/generic_join/generic_join_test.cpp @@ -64,9 +64,9 @@ TEST(GenericJoinTest, dense_join_plan_can_be_created) { auto lhs = ValueType::from_spec("tensor(a{},b[6],c[5],e[3],f[2],g{})"); auto rhs = ValueType::from_spec("tensor(a{},b[6],c[5],d[4],h{})"); auto plan = DenseJoinPlan(lhs, rhs); - std::vector<size_t> expect_loop = {30,4,6}; - std::vector<size_t> expect_lhs_stride = {6,0,1}; - std::vector<size_t> expect_rhs_stride = {4,1,0}; + SmallVector<size_t> expect_loop = {30,4,6}; + SmallVector<size_t> expect_lhs_stride = {6,0,1}; + SmallVector<size_t> expect_rhs_stride = {4,1,0}; EXPECT_EQ(plan.lhs_size, 180); EXPECT_EQ(plan.rhs_size, 120); EXPECT_EQ(plan.out_size, 720); @@ -80,9 +80,9 @@ TEST(GenericJoinTest, sparse_join_plan_can_be_created) { auto rhs = ValueType::from_spec("tensor(b[6],c[5],d[4],g{},h{})"); auto plan = SparseJoinPlan(lhs, rhs); using SRC = SparseJoinPlan::Source; - std::vector<SRC> expect_sources = {SRC::LHS,SRC::BOTH,SRC::RHS}; - std::vector<size_t> expect_lhs_overlap = {1}; - std::vector<size_t> expect_rhs_overlap = {0}; + SmallVector<SRC> expect_sources = {SRC::LHS,SRC::BOTH,SRC::RHS}; + SmallVector<size_t> expect_lhs_overlap = {1}; + SmallVector<size_t> expect_rhs_overlap = {0}; EXPECT_EQ(plan.sources, expect_sources); EXPECT_EQ(plan.lhs_overlap, expect_lhs_overlap); EXPECT_EQ(plan.rhs_overlap, expect_rhs_overlap); diff --git a/eval/src/vespa/eval/instruction/generic_join.h b/eval/src/vespa/eval/instruction/generic_join.h index d55718a0ff1..a33a92684d2 100644 --- a/eval/src/vespa/eval/instruction/generic_join.h +++ b/eval/src/vespa/eval/instruction/generic_join.h @@ -40,9 +40,9 @@ struct DenseJoinPlan { size_t lhs_size; size_t rhs_size; size_t out_size; - std::vector<size_t> loop_cnt; - std::vector<size_t> lhs_stride; - std::vector<size_t> rhs_stride; + SmallVector<size_t> loop_cnt; + SmallVector<size_t> lhs_stride; + SmallVector<size_t> rhs_stride; DenseJoinPlan(const ValueType &lhs_type, const ValueType &rhs_type); ~DenseJoinPlan(); template <typename F> void execute(size_t lhs, size_t rhs, const F &f) const { @@ -57,9 +57,9 @@ struct DenseJoinPlan { **/ struct SparseJoinPlan { enum class Source { LHS, RHS, BOTH }; - std::vector<Source> sources; - std::vector<size_t> lhs_overlap; - std::vector<size_t> rhs_overlap; + SmallVector<Source> sources; + SmallVector<size_t> lhs_overlap; + SmallVector<size_t> rhs_overlap; bool should_forward_lhs_index() const; bool should_forward_rhs_index() const; SparseJoinPlan(const ValueType &lhs_type, const ValueType &rhs_type); @@ -75,11 +75,11 @@ struct SparseJoinState { bool swapped; const Value::Index &first_index; const Value::Index &second_index; - const std::vector<size_t> &second_view_dims; - std::vector<string_id> full_address; - std::vector<string_id*> first_address; - std::vector<const string_id*> address_overlap; - std::vector<string_id*> second_only_address; + const SmallVector<size_t> &second_view_dims; + SmallVector<string_id> full_address; + SmallVector<string_id*> first_address; + SmallVector<const string_id*> address_overlap; + SmallVector<string_id*> second_only_address; size_t lhs_subspace; size_t rhs_subspace; size_t &first_subspace; |