@@ -65,20 +65,20 @@ static void BM_JaroLongNonSimilarSequence(benchmark::State& state)
6565}
6666
6767#ifdef RAPIDFUZZ_SIMD
68- template <size_t MaxLen >
68+ template <size_t MaxLen1, size_t MaxLen2 >
6969static void BM_Jaro_SIMD (benchmark::State& state)
7070{
7171 std::vector<std::string> seq1;
7272 std::vector<std::string> seq2;
7373 std::vector<double > results (64 );
7474 for (int i = 0 ; i < 64 ; i++)
75- seq1.push_back (generate (MaxLen ));
75+ seq1.push_back (generate (MaxLen1 ));
7676 for (int i = 0 ; i < 10000 ; i++)
77- seq2.push_back (generate (MaxLen ));
77+ seq2.push_back (generate (MaxLen2 ));
7878
7979 size_t num = 0 ;
8080 for (auto _ : state) {
81- rapidfuzz::experimental::MultiJaro<MaxLen > scorer (seq1.size ());
81+ rapidfuzz::experimental::MultiJaro<MaxLen1 > scorer (seq1.size ());
8282 for (const auto & str1 : seq1)
8383 scorer.insert (str1);
8484
@@ -94,15 +94,15 @@ static void BM_Jaro_SIMD(benchmark::State& state)
9494}
9595#endif
9696
97- template <size_t MaxLen >
97+ template <size_t MaxLen1, size_t MaxLen2 >
9898static void BM_Jaro (benchmark::State& state)
9999{
100100 std::vector<std::string> seq1;
101101 std::vector<std::string> seq2;
102102 for (int i = 0 ; i < 256 ; i++)
103- seq1.push_back (generate (MaxLen ));
103+ seq1.push_back (generate (MaxLen1 ));
104104 for (int i = 0 ; i < 10000 ; i++)
105- seq2.push_back (generate (MaxLen ));
105+ seq2.push_back (generate (MaxLen2 ));
106106
107107 size_t num = 0 ;
108108 for (auto _ : state) {
@@ -118,15 +118,15 @@ static void BM_Jaro(benchmark::State& state)
118118 benchmark::Counter::kIsRate | benchmark::Counter::kInvert );
119119}
120120
121- template <size_t MaxLen >
121+ template <size_t MaxLen1, size_t MaxLen2 >
122122static void BM_Jaro_Cached (benchmark::State& state)
123123{
124124 std::vector<std::string> seq1;
125125 std::vector<std::string> seq2;
126126 for (int i = 0 ; i < 256 ; i++)
127- seq1.push_back (generate (MaxLen ));
127+ seq1.push_back (generate (MaxLen1 ));
128128 for (int i = 0 ; i < 10000 ; i++)
129- seq2.push_back (generate (MaxLen ));
129+ seq2.push_back (generate (MaxLen2 ));
130130
131131 size_t num = 0 ;
132132 for (auto _ : state) {
@@ -143,21 +143,38 @@ static void BM_Jaro_Cached(benchmark::State& state)
143143 benchmark::Counter::kIsRate | benchmark::Counter::kInvert );
144144}
145145
146- BENCHMARK_TEMPLATE (BM_Jaro, 8 );
147- BENCHMARK_TEMPLATE (BM_Jaro, 16 );
148- BENCHMARK_TEMPLATE (BM_Jaro, 32 );
149- BENCHMARK_TEMPLATE (BM_Jaro, 64 );
146+ BENCHMARK_TEMPLATE (BM_Jaro, 8 , 8 );
147+ BENCHMARK_TEMPLATE (BM_Jaro, 16 , 16 );
148+ BENCHMARK_TEMPLATE (BM_Jaro, 32 , 32 );
149+ BENCHMARK_TEMPLATE (BM_Jaro, 64 , 64 );
150150
151- BENCHMARK_TEMPLATE (BM_Jaro_Cached, 8 );
152- BENCHMARK_TEMPLATE (BM_Jaro_Cached, 16 );
153- BENCHMARK_TEMPLATE (BM_Jaro_Cached, 32 );
154- BENCHMARK_TEMPLATE (BM_Jaro_Cached, 64 );
151+ BENCHMARK_TEMPLATE (BM_Jaro_Cached, 8 , 8 );
152+ BENCHMARK_TEMPLATE (BM_Jaro_Cached, 16 , 16 );
153+ BENCHMARK_TEMPLATE (BM_Jaro_Cached, 32 , 32 );
154+ BENCHMARK_TEMPLATE (BM_Jaro_Cached, 64 , 64 );
155155
156156#ifdef RAPIDFUZZ_SIMD
157- BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 8 );
158- BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 16 );
159- BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 32 );
160- BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 64 );
157+ BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 8 , 8 );
158+ BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 16 , 16 );
159+ BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 32 , 32 );
160+ BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 64 , 64 );
161+ #endif
162+
163+ BENCHMARK_TEMPLATE (BM_Jaro, 8 , 1000 );
164+ BENCHMARK_TEMPLATE (BM_Jaro, 16 , 1000 );
165+ BENCHMARK_TEMPLATE (BM_Jaro, 32 , 1000 );
166+ BENCHMARK_TEMPLATE (BM_Jaro, 64 , 1000 );
167+
168+ BENCHMARK_TEMPLATE (BM_Jaro_Cached, 8 , 1000 );
169+ BENCHMARK_TEMPLATE (BM_Jaro_Cached, 16 , 1000 );
170+ BENCHMARK_TEMPLATE (BM_Jaro_Cached, 32 , 1000 );
171+ BENCHMARK_TEMPLATE (BM_Jaro_Cached, 64 , 1000 );
172+
173+ #ifdef RAPIDFUZZ_SIMD
174+ BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 8 , 1000 );
175+ BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 16 , 1000 );
176+ BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 32 , 1000 );
177+ BENCHMARK_TEMPLATE (BM_Jaro_SIMD, 64 , 1000 );
161178#endif
162179
163180BENCHMARK (BM_JaroLongSimilarSequence)
0 commit comments