@@ -167,9 +167,9 @@ fn add_benchmark(c: &mut Criterion) {
167
167
let string_right = StringArray :: from_iter ( array_gen) ;
168
168
let string_view_right = StringViewArray :: from_iter ( string_right. iter ( ) ) ;
169
169
170
- let scalar = StringArray :: new_scalar ( "xxxx" ) ;
170
+ let string_scalar = StringArray :: new_scalar ( "xxxx" ) ;
171
171
c. bench_function ( "eq scalar StringArray" , |b| {
172
- b. iter ( || eq ( & scalar , & string_left) . unwrap ( ) )
172
+ b. iter ( || eq ( & string_scalar , & string_left) . unwrap ( ) )
173
173
} ) ;
174
174
175
175
c. bench_function ( "lt scalar StringViewArray" , |b| {
@@ -192,8 +192,20 @@ fn add_benchmark(c: &mut Criterion) {
192
192
} )
193
193
} ) ;
194
194
195
- c. bench_function ( "eq scalar StringViewArray" , |b| {
196
- b. iter ( || eq ( & scalar, & string_view_left) . unwrap ( ) )
195
+ // StringViewArray has special handling for strings with length <= 12 and length <= 4
196
+ let string_view_scalar = StringViewArray :: new_scalar ( "xxxx" ) ;
197
+ c. bench_function ( "eq scalar StringViewArray 4 bytes" , |b| {
198
+ b. iter ( || eq ( & string_view_scalar, & string_view_left) . unwrap ( ) )
199
+ } ) ;
200
+
201
+ let string_view_scalar = StringViewArray :: new_scalar ( "xxxxxx" ) ;
202
+ c. bench_function ( "eq scalar StringViewArray 6 bytes" , |b| {
203
+ b. iter ( || eq ( & string_view_scalar, & string_view_left) . unwrap ( ) )
204
+ } ) ;
205
+
206
+ let string_view_scalar = StringViewArray :: new_scalar ( "xxxxxxxxxxxxx" ) ;
207
+ c. bench_function ( "eq scalar StringViewArray 13 bytes" , |b| {
208
+ b. iter ( || eq ( & string_view_scalar, & string_view_left) . unwrap ( ) )
197
209
} ) ;
198
210
199
211
c. bench_function ( "eq StringArray StringArray" , |b| {
@@ -236,14 +248,31 @@ fn add_benchmark(c: &mut Criterion) {
236
248
b. iter ( || bench_like_utf8view_scalar ( & string_view_left, "%xxxx%" ) )
237
249
} ) ;
238
250
239
- c. bench_function ( "like_utf8view scalar ends with" , |b| {
251
+ // StringView has special handling for strings with length <= 12 and length <= 4
252
+ c. bench_function ( "like_utf8view scalar ends with 4 bytes" , |b| {
240
253
b. iter ( || bench_like_utf8view_scalar ( & string_view_left, "%xxxx" ) )
241
254
} ) ;
242
255
243
- c. bench_function ( "like_utf8view scalar starts with" , |b| {
256
+ c. bench_function ( "like_utf8view scalar ends with 6 bytes" , |b| {
257
+ b. iter ( || bench_like_utf8view_scalar ( & string_view_left, "%xxxxxx" ) )
258
+ } ) ;
259
+
260
+ c. bench_function ( "like_utf8view scalar ends with 13 bytes" , |b| {
261
+ b. iter ( || bench_like_utf8view_scalar ( & string_view_left, "%xxxxxxxxxxxxx" ) )
262
+ } ) ;
263
+
264
+ c. bench_function ( "like_utf8view scalar starts with 4 bytes" , |b| {
244
265
b. iter ( || bench_like_utf8view_scalar ( & string_view_left, "xxxx%" ) )
245
266
} ) ;
246
267
268
+ c. bench_function ( "like_utf8view scalar starts with 6 bytes" , |b| {
269
+ b. iter ( || bench_like_utf8view_scalar ( & string_view_left, "xxxxxx%" ) )
270
+ } ) ;
271
+
272
+ c. bench_function ( "like_utf8view scalar starts with 13 bytes" , |b| {
273
+ b. iter ( || bench_like_utf8view_scalar ( & string_view_left, "xxxxxxxxxxxxx%" ) )
274
+ } ) ;
275
+
247
276
c. bench_function ( "like_utf8view scalar complex" , |b| {
248
277
b. iter ( || bench_like_utf8view_scalar ( & string_view_left, "%xx_xx%xxx" ) )
249
278
} ) ;
0 commit comments