Commit 4f45193
authored
chore: Add existence (semi / anti ) benchmarks for hashjoinexec (#21821)
# Add Existence Join Benchmarks
### What changes are included in this PR?
#### 1. End-to-end benchmarks (`benchmarks/src/hj.rs`)
Adds Q16-Q21 for RightSemi and RightAnti joins, following reviewer
feedback to focus on core axes:
| Query | Join Type | Build Size | Probe Size | Hit Rate |
|-------|-----------|------------|------------|----------|
| Q16 | RightSemi | 25 (nation) | 1.5M (customer) | 100% |
| Q17 | RightSemi | 100K (supplier) | 60M (lineitem) | 100% |
| Q18 | RightSemi | 100K (supplier) | 60M (lineitem) | 10% |
| Q19 | RightAnti | 25 (nation) | 1.5M (customer) | 100% |
| Q20 | RightAnti | 100K (supplier) | 60M (lineitem) | 100% |
| Q21 | RightAnti | 100K (supplier) | 60M (lineitem) | 10% |
#### 2. Criterion micro-benchmark
(`datafusion/physical-plan/benches/hash_join_semi_anti.rs`)
Density variations :
| Benchmark | Join Type | Density | Hit Rate |
|-----------|-----------|---------|----------|
| right_semi_d100_h100 | RightSemi | 100% | 100% |
| right_semi_d100_h10 | RightSemi | 100% | 10% |
| right_semi_d50_h100 | RightSemi | 50% | 100% |
| right_semi_d50_h10 | RightSemi | 50% | 10% |
| right_semi_d10_h100 | RightSemi | 10% | 100% |
| right_semi_d10_h10 | RightSemi | 10% | 10% |
| right_anti_d100_h100 | RightAnti | 100% | 100% |
| right_anti_d100_h10 | RightAnti | 100% | 10% |
| right_anti_d50_h100 | RightAnti | 50% | 100% |
| right_anti_d50_h10 | RightAnti | 50% | 10% |
| right_anti_d10_h100 | RightAnti | 10% | 100% |
| right_anti_d10_h10 | RightAnti | 10% | 10% |1 parent ba240b2 commit 4f45193
3 files changed
Lines changed: 479 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | | - | |
30 | 28 | | |
31 | 29 | | |
32 | 30 | | |
| |||
303 | 301 | | |
304 | 302 | | |
305 | 303 | | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
306 | 408 | | |
307 | 409 | | |
308 | 410 | | |
| |||
323 | 425 | | |
324 | 426 | | |
325 | 427 | | |
326 | | - | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
327 | 431 | | |
328 | 432 | | |
329 | 433 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
116 | 121 | | |
117 | 122 | | |
118 | 123 | | |
0 commit comments