Skip to content

Conversation

@PointKernel
Copy link
Member

@PointKernel PointKernel commented May 20, 2025

Description

Supersedes #15700

This PR updates hash join to leverage primitive row operators where applicable, resulting in performance improvements of 10% to 30%.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@copy-pr-bot
Copy link

copy-pr-bot bot commented May 20, 2025

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@github-actions github-actions bot added libcudf Affects libcudf (C++/CUDA) code. CMake CMake build issue labels May 20, 2025
@PointKernel PointKernel added 2 - In Progress Currently a work in progress improvement Improvement / enhancement to an existing function Performance Performance related issue non-breaking Non-breaking change labels May 20, 2025
rapids-bot bot pushed a commit that referenced this pull request May 22, 2025
…on (#18925)

Discovered while working on #18896, this PR adds `#pragma once` directives to eliminate redundant header inclusions and reduce compilation time.

Authors:
  - Yunsong Wang (https://github.com/PointKernel)
  - Bradley Dice (https://github.com/bdice)

Approvers:
  - David Wendt (https://github.com/davidwendt)
  - Nghia Truong (https://github.com/ttnghia)
  - Bradley Dice (https://github.com/bdice)

URL: #18925
@PointKernel
Copy link
Member Author

/ok to test

@PointKernel
Copy link
Member Author

/ok to test

@PointKernel PointKernel requested review from bdice and davidwendt June 17, 2025 18:03
@PointKernel
Copy link
Member Author

I’ve updated the PR to include only the hash join changes. @davidwendt @bdice could you please take another look?

@PointKernel PointKernel changed the title Apply primitive row operators into join operations Apply primitive row operators into hash join Jun 17, 2025
Copy link
Contributor

@bdice bdice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One question about detail, otherwise LGTM.

Copy link
Member

@mhaseeb123 mhaseeb123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Just a couple comments at some branched paths would be appreciated.

@PointKernel
Copy link
Member Author

/merge

@rapids-bot rapids-bot bot merged commit d4106b0 into rapidsai:branch-25.08 Jun 18, 2025
94 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in cuDF Python Jun 18, 2025
@PointKernel PointKernel deleted the primitive-join branch June 18, 2025 21:35
@tgujar
Copy link
Contributor

tgujar commented Jun 25, 2025

Benchmark numbers on H100

# left_anti_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |      Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|-----------|---------|----------|
|  I32  |     0      |    1000     |     1000     |  64.752 us |       2.47% |  63.771 us |       2.56% | -0.981 us |  -1.52% |   SAME   |
|  I32  |     0      |   100000    |     1000     |  67.385 us |       2.31% |  68.975 us |       2.48% |  1.589 us |   2.36% |   SLOW   |
|  I32  |     0      |  10000000   |     1000     | 399.233 us |       0.33% | 402.619 us |       0.33% |  3.386 us |   0.85% |   SLOW   |
|  I32  |     0      |   100000    |    100000    |  80.411 us |       1.83% |  79.460 us |       2.21% | -0.951 us |  -1.18% |   SAME   |
|  I32  |     0      |  10000000   |    100000    | 489.105 us |       0.27% | 485.330 us |       0.28% | -3.775 us |  -0.77% |   FAST   |
|  I32  |     0      |  10000000   |   10000000   |   1.462 ms |       0.11% |   1.459 ms |       0.14% | -3.033 us |  -0.21% |   FAST   |
|  I32  |     1      |    1000     |     1000     |  62.268 us |       2.89% |  63.376 us |       2.33% |  1.108 us |   1.78% |   SAME   |
|  I32  |     1      |   100000    |     1000     |  65.514 us |       2.63% |  63.053 us |       1.61% | -2.461 us |  -3.76% |   FAST   |
|  I32  |     1      |  10000000   |     1000     | 280.226 us |       0.48% | 279.387 us |       0.64% | -0.838 us |  -0.30% |   SAME   |
|  I32  |     1      |   100000    |    100000    |  67.945 us |       2.03% |  68.777 us |       2.45% |  0.832 us |   1.22% |   SAME   |
|  I32  |     1      |  10000000   |    100000    | 301.159 us |       0.71% | 299.179 us |       0.46% | -1.980 us |  -0.66% |   FAST   |
|  I32  |     1      |  10000000   |   10000000   | 677.538 us |       0.50% | 676.185 us |       0.26% | -1.352 us |  -0.20% |   SAME   |
|  I64  |     0      |    1000     |     1000     |  66.747 us |       2.05% |  68.394 us |       2.23% |  1.646 us |   2.47% |   SLOW   |
|  I64  |     0      |   100000    |     1000     |  71.676 us |       2.51% |  70.521 us |       2.09% | -1.156 us |  -1.61% |   SAME   |
|  I64  |     0      |  10000000   |     1000     | 446.867 us |       0.33% | 445.680 us |       0.43% | -1.187 us |  -0.27% |   SAME   |
|  I64  |     0      |   100000    |    100000    |  80.258 us |       1.51% |  81.683 us |       2.09% |  1.425 us |   1.78% |   SLOW   |
|  I64  |     0      |  10000000   |    100000    | 494.513 us |       0.39% | 493.664 us |       0.28% | -0.849 us |  -0.17% |   SAME   |
|  I64  |     0      |  10000000   |   10000000   |   1.546 ms |       0.09% |   1.544 ms |       0.13% | -2.124 us |  -0.14% |   FAST   |
|  I64  |     1      |    1000     |     1000     |  62.029 us |       2.66% |  62.062 us |       2.31% |  0.033 us |   0.05% |   SAME   |
|  I64  |     1      |   100000    |     1000     |  65.413 us |       2.90% |  63.870 us |       1.75% | -1.543 us |  -2.36% |   FAST   |
|  I64  |     1      |  10000000   |     1000     | 281.434 us |       0.55% | 281.008 us |       0.67% | -0.427 us |  -0.15% |   SAME   |
|  I64  |     1      |   100000    |    100000    |  67.633 us |       2.04% |  68.468 us |       2.53% |  0.835 us |   1.23% |   SAME   |
|  I64  |     1      |  10000000   |    100000    | 302.896 us |       0.66% | 301.241 us |       0.47% | -1.655 us |  -0.55% |   FAST   |
|  I64  |     1      |  10000000   |   10000000   | 691.634 us |       0.23% | 689.851 us |       0.27% | -1.783 us |  -0.26% |   FAST   |

# left_semi_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |      Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|-----------|---------|----------|
|  I32  |     0      |    1000     |     1000     |  65.980 us |       3.68% |  63.969 us |       1.79% | -2.011 us |  -3.05% |   FAST   |
|  I32  |     0      |   100000    |     1000     |  67.757 us |       2.57% |  68.599 us |       2.51% |  0.842 us |   1.24% |   SAME   |
|  I32  |     0      |  10000000   |     1000     | 398.355 us |       0.29% | 398.659 us |       0.28% |  0.304 us |   0.08% |   SAME   |
|  I32  |     0      |   100000    |    100000    |  78.095 us |       1.88% |  79.376 us |       2.16% |  1.281 us |   1.64% |   SAME   |
|  I32  |     0      |  10000000   |    100000    | 483.003 us |       0.42% | 481.651 us |       0.29% | -1.352 us |  -0.28% |   SAME   |
|  I32  |     0      |  10000000   |   10000000   |   1.459 ms |       0.09% |   1.456 ms |       0.13% | -3.672 us |  -0.25% |   FAST   |
|  I32  |     1      |    1000     |     1000     |  62.495 us |       2.74% |  63.610 us |       2.18% |  1.116 us |   1.78% |   SAME   |
|  I32  |     1      |   100000    |     1000     |  65.487 us |       2.47% |  63.094 us |       1.50% | -2.392 us |  -3.65% |   FAST   |
|  I32  |     1      |  10000000   |     1000     | 274.340 us |       0.46% | 273.465 us |       0.61% | -0.875 us |  -0.32% |   SAME   |
|  I32  |     1      |   100000    |    100000    |  68.096 us |       2.40% |  68.728 us |       2.41% |  0.632 us |   0.93% |   SAME   |
|  I32  |     1      |  10000000   |    100000    | 294.995 us |       0.64% | 293.403 us |       0.41% | -1.591 us |  -0.54% |   FAST   |
|  I32  |     1      |  10000000   |   10000000   | 672.693 us |       0.24% | 671.058 us |       0.27% | -1.635 us |  -0.24% |   FAST   |
|  I64  |     0      |    1000     |     1000     |  67.214 us |       2.17% |  68.835 us |       2.13% |  1.621 us |   2.41% |   SLOW   |
|  I64  |     0      |   100000    |     1000     |  71.196 us |       2.52% |  70.102 us |       1.44% | -1.094 us |  -1.54% |   FAST   |
|  I64  |     0      |  10000000   |     1000     | 443.007 us |       0.28% | 441.638 us |       0.38% | -1.369 us |  -0.31% |   FAST   |
|  I64  |     0      |   100000    |    100000    |  80.093 us |       1.62% |  81.735 us |       4.48% |  1.642 us |   2.05% |   SLOW   |
|  I64  |     0      |  10000000   |    100000    | 492.726 us |       0.75% | 490.341 us |       0.24% | -2.385 us |  -0.48% |   FAST   |
|  I64  |     0      |  10000000   |   10000000   |   1.543 ms |       0.11% |   1.541 ms |       0.13% | -2.405 us |  -0.16% |   FAST   |
|  I64  |     1      |    1000     |     1000     |  62.181 us |       6.58% |  63.453 us |       2.43% |  1.272 us |   2.05% |   SAME   |
|  I64  |     1      |   100000    |     1000     |  65.654 us |       3.04% |  63.779 us |       1.57% | -1.876 us |  -2.86% |   FAST   |
|  I64  |     1      |  10000000   |     1000     | 276.497 us |       6.88% | 274.579 us |       0.61% | -1.918 us |  -0.69% |   FAST   |
|  I64  |     1      |   100000    |    100000    |  69.699 us |       2.18% |  68.147 us |       2.45% | -1.552 us |  -2.23% |   FAST   |
|  I64  |     1      |  10000000   |    100000    | 297.413 us |       0.45% | 295.695 us |       0.37% | -1.718 us |  -0.58% |   FAST   |
|  I64  |     1      |  10000000   |   10000000   | 685.351 us |       0.28% | 685.367 us |       0.26% |  0.016 us |   0.00% |   SAME   |

# conditional_inner_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|------------|---------|----------|
|  I32  |     0      |    1000     |     1000     |   1.267 ms |       0.11% |   1.273 ms |       0.08% |   6.377 us |   0.50% |   SLOW   |
|  I32  |     0      |   100000    |     1000     |   1.494 ms |       0.20% |   1.495 ms |       0.26% |   0.693 us |   0.05% |   SAME   |
|  I32  |     0      |   100000    |    100000    | 143.823 ms |       0.01% | 143.809 ms |       0.01% | -13.220 us |  -0.01% |   FAST   |
|  I32  |     1      |    1000     |     1000     |   1.623 ms |       0.10% |   1.629 ms |       0.10% |   5.644 us |   0.35% |   SLOW   |
|  I32  |     1      |   100000    |     1000     |   2.065 ms |       0.10% |   2.063 ms |       0.13% |  -1.850 us |  -0.09% |   SAME   |
|  I32  |     1      |   100000    |    100000    | 200.703 ms |       0.00% | 200.684 ms |       0.00% | -18.789 us |  -0.01% |   FAST   |
|  I64  |     0      |    1000     |     1000     |   1.322 ms |       0.12% |   1.321 ms |       0.09% |  -1.315 us |  -0.10% |   FAST   |
|  I64  |     0      |   100000    |     1000     |   1.509 ms |       0.10% |   1.507 ms |       0.07% |  -1.603 us |  -0.11% |   FAST   |
|  I64  |     0      |   100000    |    100000    | 144.837 ms |       0.01% | 144.820 ms |       0.01% | -16.492 us |  -0.01% |   FAST   |
|  I64  |     1      |    1000     |     1000     |   1.692 ms |       0.12% |   1.692 ms |       0.20% |  -0.543 us |  -0.03% |   SAME   |
|  I64  |     1      |   100000    |     1000     |   2.068 ms |       0.08% |   2.067 ms |       0.09% |  -1.953 us |  -0.09% |   FAST   |
|  I64  |     1      |   100000    |    100000    | 200.765 ms |       0.01% | 200.747 ms |       0.00% | -18.270 us |  -0.01% |   FAST   |

# conditional_left_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|------------|---------|----------|
|  I32  |     0      |    1000     |     1000     |   1.267 ms |       0.14% |   1.273 ms |       0.11% |   6.666 us |   0.53% |   SLOW   |
|  I32  |     0      |   100000    |     1000     |   1.494 ms |       1.10% |   1.495 ms |       0.35% |   0.710 us |   0.05% |   SAME   |
|  I32  |     0      |   100000    |    100000    | 143.808 ms |       0.01% | 143.801 ms |       0.01% |  -6.660 us |  -0.00% |   SAME   |
|  I32  |     1      |    1000     |     1000     |   1.623 ms |       0.09% |   1.629 ms |       0.11% |   5.596 us |   0.34% |   SLOW   |
|  I32  |     1      |   100000    |     1000     |   2.065 ms |       0.09% |   2.063 ms |       0.10% |  -1.677 us |  -0.08% |   SAME   |
|  I32  |     1      |   100000    |    100000    | 200.707 ms |       0.01% | 200.675 ms |       0.00% | -32.009 us |  -0.02% |   FAST   |
|  I64  |     0      |    1000     |     1000     |   1.322 ms |       0.09% |   1.321 ms |       0.16% |  -1.016 us |  -0.08% |   SAME   |
|  I64  |     0      |   100000    |     1000     |   1.508 ms |       0.08% |   1.509 ms |       0.50% |   0.462 us |   0.03% |   SAME   |
|  I64  |     0      |   100000    |    100000    | 144.829 ms |       0.01% | 144.815 ms |       0.01% | -14.372 us |  -0.01% |   FAST   |
|  I64  |     1      |    1000     |     1000     |   1.692 ms |       0.11% |   1.692 ms |       0.20% |   0.552 us |   0.03% |   SAME   |
|  I64  |     1      |   100000    |     1000     |   2.068 ms |       0.07% |   2.067 ms |       0.07% |  -1.080 us |  -0.05% |   SAME   |
|  I64  |     1      |   100000    |    100000    | 200.764 ms |       0.01% | 200.745 ms |       0.01% | -18.889 us |  -0.01% |   FAST   |

# inner_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |         Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|--------------|---------|----------|
|  I32  |     0      |    1000     |     1000     |  98.889 us |       2.23% |  97.684 us |       6.83% |    -1.206 us |  -1.22% |   SAME   |
|  I32  |     0      |   100000    |     1000     | 112.072 us |       2.32% | 103.432 us |       2.45% |    -8.640 us |  -7.71% |   FAST   |
|  I32  |     0      |  10000000   |     1000     |   2.200 ms |       0.70% |   1.532 ms |       0.66% |  -668.182 us | -30.37% |   FAST   |
|  I32  |     0      |   100000    |    100000    | 120.750 us |       1.08% | 116.898 us |       3.48% |    -3.852 us |  -3.19% |   FAST   |
|  I32  |     0      |  10000000   |    100000    |   2.488 ms |       0.17% |   1.685 ms |       0.11% |  -802.724 us | -32.26% |   FAST   |
|  I32  |     0      |  10000000   |   10000000   |   3.791 ms |       0.09% |   2.768 ms |       0.11% | -1023.345 us | -26.99% |   FAST   |
|  I32  |     1      |    1000     |     1000     | 108.165 us |       2.73% | 108.075 us |       1.40% |    -0.090 us |  -0.08% |   SAME   |
|  I32  |     1      |   100000    |     1000     | 116.140 us |       3.44% | 111.876 us |       2.75% |    -4.264 us |  -3.67% |   FAST   |
|  I32  |     1      |  10000000   |     1000     |   1.453 ms |       0.24% |   1.030 ms |       0.43% |  -423.842 us | -29.16% |   FAST   |
|  I32  |     1      |   100000    |    100000    | 125.665 us |       2.93% | 117.982 us |       1.98% |    -7.682 us |  -6.11% |   FAST   |
|  I32  |     1      |  10000000   |    100000    |   1.528 ms |       0.15% |   1.077 ms |       0.17% |  -450.668 us | -29.50% |   FAST   |
|  I32  |     1      |  10000000   |   10000000   |   2.148 ms |       0.15% |   1.492 ms |       0.24% |  -655.789 us | -30.53% |   FAST   |
|  I64  |     0      |    1000     |     1000     | 100.507 us |       2.49% |  95.986 us |       3.55% |    -4.521 us |  -4.50% |   FAST   |
|  I64  |     0      |   100000    |     1000     | 113.899 us |       2.27% | 105.193 us |       3.02% |    -8.706 us |  -7.64% |   FAST   |
|  I64  |     0      |  10000000   |     1000     |   2.241 ms |       0.64% |   1.588 ms |       0.59% |  -653.250 us | -29.15% |   FAST   |
|  I64  |     0      |   100000    |    100000    | 123.646 us |       2.69% | 112.093 us |       3.62% |   -11.553 us |  -9.34% |   FAST   |
|  I64  |     0      |  10000000   |    100000    |   2.517 ms |       0.19% |   1.697 ms |       0.15% |  -819.997 us | -32.58% |   FAST   |
|  I64  |     0      |  10000000   |   10000000   |   3.844 ms |       0.09% |   2.805 ms |       0.12% | -1039.232 us | -27.04% |   FAST   |
|  I64  |     1      |    1000     |     1000     | 110.541 us |       1.42% | 105.805 us |       3.12% |    -4.735 us |  -4.28% |   FAST   |
|  I64  |     1      |   100000    |     1000     | 118.239 us |       3.08% | 109.906 us |       1.32% |    -8.333 us |  -7.05% |   FAST   |
|  I64  |     1      |  10000000   |     1000     |   1.464 ms |       0.26% |   1.046 ms |       0.51% |  -417.779 us | -28.54% |   FAST   |
|  I64  |     1      |   100000    |    100000    | 128.176 us |       2.11% | 116.603 us |       2.61% |   -11.572 us |  -9.03% |   FAST   |
|  I64  |     1      |  10000000   |    100000    |   1.550 ms |       0.20% |   1.075 ms |       0.30% |  -474.436 us | -30.61% |   FAST   |
|  I64  |     1      |  10000000   |   10000000   |   2.174 ms |       0.20% |   1.502 ms |       0.29% |  -671.547 us | -30.89% |   FAST   |

# left_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |        Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|-------------|---------|----------|
|  I32  |     0      |    1000     |     1000     |  97.557 us |       2.70% |  98.358 us |       2.71% |    0.801 us |   0.82% |   SAME   |
|  I32  |     0      |   100000    |     1000     | 115.334 us |       2.07% | 112.180 us |       1.70% |   -3.155 us |  -2.74% |   FAST   |
|  I32  |     0      |  10000000   |     1000     |   2.403 ms |       0.72% |   1.728 ms |       0.67% | -674.940 us | -28.09% |   FAST   |
|  I32  |     0      |   100000    |    100000    | 124.930 us |       3.00% | 120.735 us |       1.06% |   -4.195 us |  -3.36% |   FAST   |
|  I32  |     0      |  10000000   |    100000    |   2.700 ms |       0.08% |   1.909 ms |       0.16% | -791.569 us | -29.31% |   FAST   |
|  I32  |     0      |  10000000   |   10000000   |   4.003 ms |       0.10% |   3.025 ms |       0.08% | -978.231 us | -24.44% |   FAST   |
|  I32  |     1      |    1000     |     1000     | 104.551 us |       2.66% | 108.406 us |       1.40% |    3.855 us |   3.69% |   SLOW   |
|  I32  |     1      |   100000    |     1000     | 123.081 us |       2.59% | 116.376 us |       3.61% |   -6.704 us |  -5.45% |   FAST   |
|  I32  |     1      |  10000000   |     1000     |   1.621 ms |       0.13% |   1.200 ms |       0.30% | -420.638 us | -25.95% |   FAST   |
|  I32  |     1      |   100000    |    100000    | 129.187 us |       1.67% | 124.204 us |       2.95% |   -4.983 us |  -3.86% |   FAST   |
|  I32  |     1      |  10000000   |    100000    |   1.695 ms |       0.20% |   1.247 ms |       0.30% | -448.426 us | -26.45% |   FAST   |
|  I32  |     1      |  10000000   |   10000000   |   2.323 ms |       0.25% |   1.689 ms |       0.15% | -634.457 us | -27.31% |   FAST   |
|  I64  |     0      |    1000     |     1000     | 101.975 us |       3.28% |  96.413 us |       3.25% |   -5.562 us |  -5.45% |   FAST   |
|  I64  |     0      |   100000    |     1000     | 116.858 us |       1.27% | 114.286 us |       2.19% |   -2.571 us |  -2.20% |   FAST   |
|  I64  |     0      |  10000000   |     1000     |   2.453 ms |       0.69% |   1.787 ms |       0.61% | -666.584 us | -27.17% |   FAST   |
|  I64  |     0      |   100000    |    100000    | 130.565 us |       2.67% | 121.062 us |       1.21% |   -9.502 us |  -7.28% |   FAST   |
|  I64  |     0      |  10000000   |    100000    |   2.729 ms |       0.11% |   1.933 ms |       0.15% | -796.272 us | -29.18% |   FAST   |
|  I64  |     0      |  10000000   |   10000000   |   4.058 ms |       0.08% |   3.061 ms |       0.13% | -997.624 us | -24.58% |   FAST   |
|  I64  |     1      |    1000     |     1000     | 109.959 us |       1.43% | 105.880 us |       3.08% |   -4.079 us |  -3.71% |   FAST   |
|  I64  |     1      |   100000    |     1000     | 123.521 us |       2.76% | 117.225 us |       3.05% |   -6.296 us |  -5.10% |   FAST   |
|  I64  |     1      |  10000000   |     1000     |   1.623 ms |       0.13% |   1.213 ms |       0.31% | -409.787 us | -25.25% |   FAST   |
|  I64  |     1      |   100000    |    100000    | 128.201 us |       2.54% | 124.109 us |       3.28% |   -4.092 us |  -3.19% |   FAST   |
|  I64  |     1      |  10000000   |    100000    |   1.712 ms |       0.21% |   1.251 ms |       0.43% | -461.026 us | -26.92% |   FAST   |
|  I64  |     1      |  10000000   |   10000000   |   2.345 ms |       0.15% |   1.694 ms |       0.21% | -651.661 us | -27.79% |   FAST   |

# full_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |        Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|-------------|---------|----------|
|  I32  |     0      |    1000     |     1000     | 172.062 us |       3.26% | 169.895 us |       2.28% |   -2.166 us |  -1.26% |   SAME   |
|  I32  |     0      |   100000    |     1000     | 156.776 us |       1.11% | 156.703 us |       2.46% |   -0.073 us |  -0.05% |   SAME   |
|  I32  |     0      |  10000000   |     1000     |   2.799 ms |       0.58% |   2.145 ms |       0.52% | -653.536 us | -23.35% |   FAST   |
|  I32  |     0      |   100000    |    100000    | 200.968 us |       1.94% | 193.674 us |       2.34% |   -7.293 us |  -3.63% |   FAST   |
|  I32  |     0      |  10000000   |    100000    |   2.807 ms |       0.09% |   2.008 ms |       0.19% | -798.921 us | -28.46% |   FAST   |
|  I32  |     0      |  10000000   |   10000000   |   4.365 ms |       0.11% |   3.382 ms |       0.16% | -982.983 us | -22.52% |   FAST   |
|  I32  |     1      |    1000     |     1000     | 175.747 us |       2.71% | 171.027 us |       1.58% |   -4.720 us |  -2.69% |   FAST   |
|  I32  |     1      |   100000    |     1000     | 195.665 us |       2.77% | 188.434 us |       3.08% |   -7.231 us |  -3.70% |   FAST   |
|  I32  |     1      |  10000000   |     1000     |   1.798 ms |       0.13% |   1.382 ms |       0.30% | -415.417 us | -23.11% |   FAST   |
|  I32  |     1      |   100000    |    100000    | 198.731 us |       2.55% | 200.281 us |       2.16% |    1.550 us |   0.78% |   SAME   |
|  I32  |     1      |  10000000   |    100000    |   1.845 ms |       0.23% |   1.406 ms |       0.23% | -438.600 us | -23.78% |   FAST   |
|  I32  |     1      |  10000000   |   10000000   |   2.606 ms |       0.20% |   1.971 ms |       0.17% | -634.458 us | -24.35% |   FAST   |
|  I64  |     0      |    1000     |     1000     | 172.981 us |       2.91% | 166.994 us |       3.15% |   -5.987 us |  -3.46% |   FAST   |
|  I64  |     0      |   100000    |     1000     | 154.324 us |       1.18% | 154.750 us |       1.17% |    0.426 us |   0.28% |   SAME   |
|  I64  |     0      |  10000000   |     1000     |   2.742 ms |       0.62% |   2.076 ms |       0.60% | -665.403 us | -24.27% |   FAST   |
|  I64  |     0      |   100000    |    100000    | 200.973 us |       2.52% | 196.987 us |       0.97% |   -3.986 us |  -1.98% |   FAST   |
|  I64  |     0      |  10000000   |    100000    |   2.830 ms |       0.12% |   2.039 ms |       0.14% | -790.519 us | -27.94% |   FAST   |
|  I64  |     0      |  10000000   |   10000000   |   4.421 ms |       0.09% |   3.421 ms |       0.12% | -999.718 us | -22.61% |   FAST   |
|  I64  |     1      |    1000     |     1000     | 175.263 us |       2.02% | 171.417 us |       2.83% |   -3.847 us |  -2.19% |   FAST   |
|  I64  |     1      |   100000    |     1000     | 194.338 us |       2.75% | 187.383 us |       3.10% |   -6.955 us |  -3.58% |   FAST   |
|  I64  |     1      |  10000000   |     1000     |   1.803 ms |       0.13% |   1.389 ms |       0.23% | -414.394 us | -22.98% |   FAST   |
|  I64  |     1      |   100000    |    100000    | 206.616 us |       0.99% | 196.541 us |       3.11% |  -10.075 us |  -4.88% |   FAST   |
|  I64  |     1      |  10000000   |    100000    |   1.870 ms |       0.21% |   1.404 ms |       0.41% | -465.941 us | -24.92% |   FAST   |
|  I64  |     1      |  10000000   |   10000000   |   2.631 ms |       0.17% |   1.978 ms |       0.34% | -652.346 us | -24.80% |   FAST   |

# mixed_inner_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|------------|---------|----------|
|  I32  |     0      |    1000     |     1000     | 169.404 us |       1.13% | 167.009 us |       1.52% |  -2.395 us |  -1.41% |   FAST   |
|  I32  |     0      |   100000    |     1000     | 189.911 us |       1.05% | 188.780 us |       1.30% |  -1.131 us |  -0.60% |   SAME   |
|  I32  |     0      |  10000000   |     1000     |   3.471 ms |       0.49% |   3.471 ms |       0.43% |  -0.190 us |  -0.01% |   SAME   |
|  I32  |     0      |   100000    |    100000    | 206.390 us |       1.93% | 207.167 us |       1.36% |   0.777 us |   0.38% |   SAME   |
|  I32  |     0      |  10000000   |    100000    |   4.108 ms |       0.09% |   4.107 ms |       0.10% |  -0.758 us |  -0.02% |   SAME   |
|  I32  |     0      |  10000000   |   10000000   |   5.960 ms |       0.05% |   5.958 ms |       0.04% |  -1.661 us |  -0.03% |   SAME   |
|  I32  |     1      |    1000     |     1000     | 160.757 us |       1.17% | 155.915 us |       2.77% |  -4.842 us |  -3.01% |   FAST   |
|  I32  |     1      |   100000    |     1000     | 173.471 us |       1.99% | 169.557 us |       1.11% |  -3.914 us |  -2.26% |   FAST   |
|  I32  |     1      |  10000000   |     1000     |   2.349 ms |       0.15% |   2.357 ms |       0.24% |   7.661 us |   0.33% |   SLOW   |
|  I32  |     1      |   100000    |    100000    | 181.431 us |       2.15% | 180.516 us |       1.17% |  -0.915 us |  -0.50% |   SAME   |
|  I32  |     1      |  10000000   |    100000    |   2.543 ms |       0.12% |   2.547 ms |       0.10% |   4.140 us |   0.16% |   SLOW   |
|  I32  |     1      |  10000000   |   10000000   |   3.202 ms |       0.11% |   3.199 ms |       0.09% |  -3.037 us |  -0.09% |   FAST   |
|  I64  |     0      |    1000     |     1000     | 167.445 us |       2.31% | 162.592 us |       1.55% |  -4.853 us |  -2.90% |   FAST   |
|  I64  |     0      |   100000    |     1000     | 194.938 us |       2.01% | 198.624 us |       2.32% |   3.686 us |   1.89% |   SAME   |
|  I64  |     0      |  10000000   |     1000     |   3.742 ms |       0.50% |   3.742 ms |       0.49% |   0.096 us |   0.00% |   SAME   |
|  I64  |     0      |   100000    |    100000    | 211.842 us |       1.09% | 210.642 us |       1.07% |  -1.200 us |  -0.57% |   SAME   |
|  I64  |     0      |  10000000   |    100000    |   4.220 ms |       0.09% |   4.220 ms |       0.09% |  -0.011 us |  -0.00% |   SAME   |
|  I64  |     0      |  10000000   |   10000000   |   6.082 ms |       0.06% |   6.081 ms |       0.06% |  -1.401 us |  -0.02% |   SAME   |
|  I64  |     1      |    1000     |     1000     | 172.100 us |       3.62% | 172.410 us |       3.29% |   0.309 us |   0.18% |   SAME   |
|  I64  |     1      |   100000    |     1000     | 183.254 us |       2.28% | 170.778 us |       1.87% | -12.476 us |  -6.81% |   FAST   |
|  I64  |     1      |  10000000   |     1000     |   2.365 ms |       0.16% |   2.357 ms |       0.16% |  -8.359 us |  -0.35% |   FAST   |
|  I64  |     1      |   100000    |    100000    | 184.168 us |       2.13% | 182.424 us |       2.18% |  -1.743 us |  -0.95% |   SAME   |
|  I64  |     1      |  10000000   |    100000    |   2.598 ms |       0.11% |   2.593 ms |       0.15% |  -5.560 us |  -0.21% |   FAST   |
|  I64  |     1      |  10000000   |   10000000   |   3.243 ms |       0.14% |   3.240 ms |       0.12% |  -3.473 us |  -0.11% |   SAME   |

# mixed_left_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|------------|---------|----------|
|  I32  |     0      |    1000     |     1000     | 173.913 us |       2.88% | 170.841 us |       3.30% |  -3.072 us |  -1.77% |   SAME   |
|  I32  |     0      |   100000    |     1000     | 196.073 us |       2.26% | 190.393 us |       1.17% |  -5.680 us |  -2.90% |   FAST   |
|  I32  |     0      |  10000000   |     1000     |   3.844 ms |       0.48% |   3.839 ms |       0.48% |  -4.944 us |  -0.13% |   SAME   |
|  I32  |     0      |   100000    |    100000    | 208.956 us |       0.93% | 208.966 us |       1.58% |   0.010 us |   0.00% |   SAME   |
|  I32  |     0      |  10000000   |    100000    |   4.525 ms |       0.09% |   4.526 ms |       0.11% |   0.480 us |   0.01% |   SAME   |
|  I32  |     0      |  10000000   |   10000000   |   6.383 ms |       0.06% |   6.381 ms |       0.05% |  -2.089 us |  -0.03% |   SAME   |
|  I32  |     1      |    1000     |     1000     | 158.346 us |       3.09% | 159.309 us |       1.28% |   0.963 us |   0.61% |   SAME   |
|  I32  |     1      |   100000    |     1000     | 180.869 us |       1.35% | 184.208 us |       2.49% |   3.339 us |   1.85% |   SLOW   |
|  I32  |     1      |  10000000   |     1000     |   2.635 ms |       0.16% |   2.633 ms |       0.10% |  -2.269 us |  -0.09% |   SAME   |
|  I32  |     1      |   100000    |    100000    | 188.925 us |       1.12% | 186.904 us |       2.53% |  -2.021 us |  -1.07% |   SAME   |
|  I32  |     1      |  10000000   |    100000    |   2.826 ms |       0.12% |   2.828 ms |       0.10% |   1.664 us |   0.06% |   SAME   |
|  I32  |     1      |  10000000   |   10000000   |   3.493 ms |       0.09% |   3.492 ms |       0.10% |  -0.580 us |  -0.02% |   SAME   |
|  I64  |     0      |    1000     |     1000     | 176.286 us |       2.55% | 176.604 us |       2.29% |   0.318 us |   0.18% |   SAME   |
|  I64  |     0      |   100000    |     1000     | 204.047 us |       1.14% | 204.121 us |       1.35% |   0.074 us |   0.04% |   SAME   |
|  I64  |     0      |  10000000   |     1000     |   4.097 ms |       0.50% |   4.099 ms |       0.50% |   2.035 us |   0.05% |   SAME   |
|  I64  |     0      |   100000    |    100000    | 215.613 us |       2.20% | 218.323 us |       1.66% |   2.710 us |   1.26% |   SAME   |
|  I64  |     0      |  10000000   |    100000    |   4.627 ms |       0.11% |   4.626 ms |       0.10% |  -0.961 us |  -0.02% |   SAME   |
|  I64  |     0      |  10000000   |   10000000   |   6.498 ms |       0.05% |   6.495 ms |       0.05% |  -2.906 us |  -0.04% |   SAME   |
|  I64  |     1      |    1000     |     1000     | 177.529 us |       1.25% | 160.708 us |       3.42% | -16.821 us |  -9.48% |   FAST   |
|  I64  |     1      |   100000    |     1000     | 180.823 us |       1.71% | 179.936 us |       1.32% |  -0.887 us |  -0.49% |   SAME   |
|  I64  |     1      |  10000000   |     1000     |   2.641 ms |       0.12% |   2.643 ms |       0.18% |   2.045 us |   0.08% |   SAME   |
|  I64  |     1      |   100000    |    100000    | 190.131 us |       0.98% | 189.234 us |       1.04% |  -0.898 us |  -0.47% |   SAME   |
|  I64  |     1      |  10000000   |    100000    |   2.886 ms |       0.10% |   2.884 ms |       0.14% |  -2.408 us |  -0.08% |   SAME   |
|  I64  |     1      |  10000000   |   10000000   |   3.539 ms |       0.11% |   3.535 ms |       0.10% |  -3.711 us |  -0.10% |   FAST   |

# mixed_full_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|------------|---------|----------|
|  I32  |     0      |    1000     |     1000     | 246.432 us |       2.92% | 240.782 us |       2.67% |  -5.651 us |  -2.29% |   SAME   |
|  I32  |     0      |   100000    |     1000     | 237.450 us |       1.90% | 240.562 us |       2.05% |   3.112 us |   1.31% |   SAME   |
|  I32  |     0      |  10000000   |     1000     |   4.266 ms |       0.43% |   4.272 ms |       0.41% |   6.279 us |   0.15% |   SAME   |
|  I32  |     0      |   100000    |    100000    | 289.973 us |       0.89% | 281.096 us |       2.11% |  -8.877 us |  -3.06% |   FAST   |
|  I32  |     0      |  10000000   |    100000    |   4.637 ms |       0.09% |   4.629 ms |       0.11% |  -8.231 us |  -0.18% |   FAST   |
|  I32  |     0      |  10000000   |   10000000   |   6.752 ms |       0.06% |   6.745 ms |       0.08% |  -6.840 us |  -0.10% |   FAST   |
|  I32  |     1      |    1000     |     1000     | 228.968 us |       2.24% | 236.553 us |       1.07% |   7.585 us |   3.31% |   SLOW   |
|  I32  |     1      |   100000    |     1000     | 261.705 us |       2.49% | 252.965 us |       1.22% |  -8.740 us |  -3.34% |   FAST   |
|  I32  |     1      |  10000000   |     1000     |   2.818 ms |       0.12% |   2.810 ms |       0.18% |  -7.476 us |  -0.27% |   FAST   |
|  I32  |     1      |   100000    |    100000    | 261.983 us |       2.23% | 270.985 us |       1.06% |   9.002 us |   3.44% |   SLOW   |
|  I32  |     1      |  10000000   |    100000    |   2.978 ms |       0.11% |   2.992 ms |       0.11% |  13.747 us |   0.46% |   SLOW   |
|  I32  |     1      |  10000000   |   10000000   |   3.784 ms |       0.14% |   3.781 ms |       0.11% |  -2.500 us |  -0.07% |   SAME   |
|  I64  |     0      |    1000     |     1000     | 249.766 us |       2.56% | 248.032 us |       2.62% |  -1.735 us |  -0.69% |   SAME   |
|  I64  |     0      |   100000    |     1000     | 245.441 us |       0.98% | 244.841 us |       1.30% |  -0.600 us |  -0.24% |   SAME   |
|  I64  |     0      |  10000000   |     1000     |   4.387 ms |       0.46% |   4.388 ms |       0.47% |   1.174 us |   0.03% |   SAME   |
|  I64  |     0      |   100000    |    100000    | 296.913 us |       1.76% | 297.229 us |       1.48% |   0.316 us |   0.11% |   SAME   |
|  I64  |     0      |  10000000   |    100000    |   4.738 ms |       0.10% |   4.736 ms |       0.10% |  -2.250 us |  -0.05% |   SAME   |
|  I64  |     0      |  10000000   |   10000000   |   6.866 ms |       0.07% |   6.861 ms |       0.06% |  -5.254 us |  -0.08% |   FAST   |
|  I64  |     1      |    1000     |     1000     | 245.200 us |       2.15% | 232.682 us |       2.96% | -12.518 us |  -5.11% |   FAST   |
|  I64  |     1      |   100000    |     1000     | 256.618 us |       1.79% | 258.823 us |       2.57% |   2.205 us |   0.86% |   SAME   |
|  I64  |     1      |  10000000   |     1000     |   2.820 ms |       0.11% |   2.828 ms |       0.13% |   8.350 us |   0.30% |   SLOW   |
|  I64  |     1      |   100000    |    100000    | 265.319 us |       2.59% | 261.215 us |       2.34% |  -4.104 us |  -1.55% |   SAME   |
|  I64  |     1      |  10000000   |    100000    |   3.052 ms |       0.11% |   3.036 ms |       0.13% | -15.544 us |  -0.51% |   FAST   |
|  I64  |     1      |  10000000   |   10000000   |   3.830 ms |       0.10% |   3.823 ms |       0.15% |  -6.449 us |  -0.17% |   FAST   |

# mixed_left_semi_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |       Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|------------|---------|----------|
|  I32  |     0      |    1000     |     1000     | 121.727 us |       2.43% | 121.564 us |       2.52% |  -0.163 us |  -0.13% |   SAME   |
|  I32  |     0      |   100000    |     1000     | 131.791 us |       1.18% | 132.079 us |       1.31% |   0.288 us |   0.22% |   SAME   |
|  I32  |     0      |  10000000   |     1000     |   1.581 ms |       0.28% |   1.581 ms |       0.23% |  -0.152 us |  -0.01% |   SAME   |
|  I32  |     0      |   100000    |    100000    | 150.335 us |       1.20% | 148.799 us |       2.14% |  -1.536 us |  -1.02% |   SAME   |
|  I32  |     0      |  10000000   |    100000    |   1.815 ms |       0.12% |   1.804 ms |       0.12% | -11.575 us |  -0.64% |   FAST   |
|  I32  |     0      |  10000000   |   10000000   |   3.534 ms |       0.06% |   3.534 ms |       0.11% |   0.340 us |   0.01% |   SAME   |
|  I32  |     1      |    1000     |     1000     | 136.028 us |       1.26% | 135.457 us |       2.49% |  -0.572 us |  -0.42% |   SAME   |
|  I32  |     1      |   100000    |     1000     | 151.429 us |       2.68% | 150.758 us |       2.70% |  -0.671 us |  -0.44% |   SAME   |
|  I32  |     1      |  10000000   |     1000     |   1.494 ms |       0.43% |   1.488 ms |       0.42% |  -5.269 us |  -0.35% |   SAME   |
|  I32  |     1      |   100000    |    100000    | 161.702 us |       1.12% | 159.997 us |       1.35% |  -1.705 us |  -1.05% |   SAME   |
|  I32  |     1      |  10000000   |    100000    |   1.353 ms |       0.18% |   1.360 ms |       0.21% |   7.641 us |   0.56% |   SLOW   |
|  I32  |     1      |  10000000   |   10000000   |   2.008 ms |       0.14% |   2.010 ms |       0.13% |   1.345 us |   0.07% |   SAME   |
|  I64  |     0      |    1000     |     1000     | 128.106 us |       2.33% | 126.385 us |       2.71% |  -1.720 us |  -1.34% |   SAME   |
|  I64  |     0      |   100000    |     1000     | 137.333 us |       1.16% | 137.724 us |       1.36% |   0.390 us |   0.28% |   SAME   |
|  I64  |     0      |  10000000   |     1000     |   1.665 ms |       0.21% |   1.665 ms |       0.21% |   0.265 us |   0.02% |   SAME   |
|  I64  |     0      |   100000    |    100000    | 154.835 us |       1.12% | 152.940 us |       2.17% |  -1.895 us |  -1.22% |   FAST   |
|  I64  |     0      |  10000000   |    100000    |   1.894 ms |       0.11% |   1.901 ms |       0.11% |   7.192 us |   0.38% |   SLOW   |
|  I64  |     0      |  10000000   |   10000000   |   3.654 ms |       0.07% |   3.653 ms |       0.10% |  -1.121 us |  -0.03% |   SAME   |
|  I64  |     1      |    1000     |     1000     | 136.609 us |       1.60% | 143.878 us |       2.43% |   7.269 us |   5.32% |   SLOW   |
|  I64  |     1      |   100000    |     1000     | 150.824 us |       2.74% | 151.264 us |       2.87% |   0.440 us |   0.29% |   SAME   |
|  I64  |     1      |  10000000   |     1000     |   1.293 ms |       0.33% |   1.285 ms |       0.33% |  -7.284 us |  -0.56% |   FAST   |
|  I64  |     1      |   100000    |    100000    | 158.371 us |       2.56% | 160.207 us |       2.46% |   1.836 us |   1.16% |   SAME   |
|  I64  |     1      |  10000000   |    100000    |   1.385 ms |       0.21% |   1.394 ms |       0.20% |   9.747 us |   0.70% |   SLOW   |
|  I64  |     1      |  10000000   |   10000000   |   2.031 ms |       0.19% |   2.035 ms |       0.10% |   4.534 us |   0.22% |   SLOW   |

# mixed_left_anti_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |      Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|-----------|---------|----------|
|  I32  |     0      |    1000     |     1000     | 121.648 us |       2.42% | 120.942 us |       2.57% | -0.707 us |  -0.58% |   SAME   |
|  I32  |     0      |   100000    |     1000     | 132.197 us |       1.14% | 132.172 us |       1.19% | -0.024 us |  -0.02% |   SAME   |
|  I32  |     0      |  10000000   |     1000     |   1.587 ms |       0.22% |   1.587 ms |       0.24% |  0.501 us |   0.03% |   SAME   |
|  I32  |     0      |   100000    |    100000    | 150.935 us |       1.44% | 150.628 us |       1.21% | -0.307 us |  -0.20% |   SAME   |
|  I32  |     0      |  10000000   |    100000    |   1.821 ms |       0.14% |   1.815 ms |       0.13% | -6.632 us |  -0.36% |   FAST   |
|  I32  |     0      |  10000000   |   10000000   |   3.539 ms |       0.06% |   3.542 ms |       0.06% |  2.281 us |   0.06% |   SLOW   |
|  I32  |     1      |    1000     |     1000     | 143.310 us |       1.22% | 133.781 us |       1.58% | -9.530 us |  -6.65% |   FAST   |
|  I32  |     1      |   100000    |     1000     | 154.172 us |       2.57% | 150.805 us |       2.75% | -3.367 us |  -2.18% |   SAME   |
|  I32  |     1      |  10000000   |     1000     |   1.494 ms |       0.46% |   1.495 ms |       0.43% |  1.353 us |   0.09% |   SAME   |
|  I32  |     1      |   100000    |    100000    | 158.756 us |       2.65% | 155.875 us |       2.75% | -2.881 us |  -1.81% |   SAME   |
|  I32  |     1      |  10000000   |    100000    |   1.361 ms |       0.20% |   1.360 ms |       0.23% | -0.600 us |  -0.04% |   SAME   |
|  I32  |     1      |  10000000   |   10000000   |   2.016 ms |       0.14% |   2.015 ms |       0.20% | -1.039 us |  -0.05% |   SAME   |
|  I64  |     0      |    1000     |     1000     | 127.699 us |       2.35% | 127.138 us |       2.38% | -0.561 us |  -0.44% |   SAME   |
|  I64  |     0      |   100000    |     1000     | 137.406 us |       1.24% | 138.000 us |       1.41% |  0.594 us |   0.43% |   SAME   |
|  I64  |     0      |  10000000   |     1000     |   1.670 ms |       0.20% |   1.669 ms |       0.21% | -0.643 us |  -0.04% |   SAME   |
|  I64  |     0      |   100000    |    100000    | 155.021 us |       1.29% | 154.869 us |       1.11% | -0.152 us |  -0.10% |   SAME   |
|  I64  |     0      |  10000000   |    100000    |   1.900 ms |       0.13% |   1.913 ms |       0.12% | 12.879 us |   0.68% |   SLOW   |
|  I64  |     0      |  10000000   |   10000000   |   3.659 ms |       0.08% |   3.661 ms |       0.06% |  2.117 us |   0.06% |   SAME   |
|  I64  |     1      |    1000     |     1000     | 136.481 us |       1.58% | 136.084 us |       1.40% | -0.396 us |  -0.29% |   SAME   |
|  I64  |     1      |   100000    |     1000     | 153.573 us |       2.74% | 151.880 us |       2.95% | -1.693 us |  -1.10% |   SAME   |
|  I64  |     1      |  10000000   |     1000     |   1.300 ms |       0.34% |   1.301 ms |       0.34% |  1.386 us |   0.11% |   SAME   |
|  I64  |     1      |   100000    |    100000    | 158.907 us |       2.62% | 157.956 us |       2.68% | -0.951 us |  -0.60% |   SAME   |
|  I64  |     1      |  10000000   |    100000    |   1.393 ms |       0.23% |   1.395 ms |       0.31% |  1.880 us |   0.13% |   SAME   |
|  I64  |     1      |  10000000   |   10000000   |   2.038 ms |       0.20% |   2.041 ms |       0.20% |  2.676 us |   0.13% |   SAME   |

# distinct_inner_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |      Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|-----------|---------|----------|
|  I32  |     0      |    1000     |     1000     |  76.019 us |       2.32% |  75.235 us |       2.31% | -0.784 us |  -1.03% |   SAME   |
|  I32  |     0      |   100000    |     1000     |  75.076 us |       1.44% |  74.974 us |       1.46% | -0.102 us |  -0.14% |   SAME   |
|  I32  |     0      |  10000000   |     1000     | 467.665 us |       0.47% | 467.945 us |       0.48% |  0.280 us |   0.06% |   SAME   |
|  I32  |     0      |   100000    |    100000    |  99.629 us |       1.95% |  99.058 us |       1.89% | -0.572 us |  -0.57% |   SAME   |
|  I32  |     0      |  10000000   |    100000    | 533.131 us |       0.36% | 532.458 us |       0.38% | -0.673 us |  -0.13% |   SAME   |
|  I32  |     0      |  10000000   |   10000000   |   1.452 ms |       0.16% |   1.452 ms |       0.16% |  0.137 us |   0.01% |   SAME   |
|  I32  |     1      |    1000     |     1000     | 108.776 us |       1.30% | 107.924 us |       1.89% | -0.852 us |  -0.78% |   SAME   |
|  I32  |     1      |   100000    |     1000     | 106.517 us |       3.03% | 110.927 us |       2.53% |  4.410 us |   4.14% |   SLOW   |
|  I32  |     1      |  10000000   |     1000     | 262.069 us |       3.22% | 260.614 us |       1.33% | -1.455 us |  -0.56% |   SAME   |
|  I32  |     1      |   100000    |    100000    | 114.123 us |       1.24% | 118.416 us |       2.49% |  4.293 us |   3.76% |   SLOW   |
|  I32  |     1      |  10000000   |    100000    | 276.321 us |       0.55% | 275.114 us |       0.52% | -1.207 us |  -0.44% |   SAME   |
|  I32  |     1      |  10000000   |   10000000   | 570.836 us |       0.43% | 570.083 us |       0.32% | -0.753 us |  -0.13% |   SAME   |
|  I64  |     0      |    1000     |     1000     |  70.681 us |       1.49% |  75.710 us |       1.40% |  5.028 us |   7.11% |   SLOW   |
|  I64  |     0      |   100000    |     1000     |  75.169 us |       2.72% |  73.470 us |       2.47% | -1.699 us |  -2.26% |   SAME   |
|  I64  |     0      |  10000000   |     1000     | 430.307 us |       0.36% | 425.791 us |       0.45% | -4.517 us |  -1.05% |   FAST   |
|  I64  |     0      |   100000    |    100000    |  98.016 us |       1.12% |  97.566 us |       1.12% | -0.450 us |  -0.46% |   SAME   |
|  I64  |     0      |  10000000   |    100000    | 540.791 us |       0.31% | 539.246 us |       0.27% | -1.546 us |  -0.29% |   FAST   |
|  I64  |     0      |  10000000   |   10000000   |   1.487 ms |       0.11% |   1.486 ms |       0.11% | -1.011 us |  -0.07% |   SAME   |
|  I64  |     1      |    1000     |     1000     | 105.519 us |       8.66% | 102.742 us |       3.12% | -2.777 us |  -2.63% |   SAME   |
|  I64  |     1      |   100000    |     1000     | 108.336 us |       3.12% | 112.204 us |       2.76% |  3.868 us |   3.57% |   SLOW   |
|  I64  |     1      |  10000000   |     1000     | 270.462 us |       2.62% | 267.988 us |       0.71% | -2.474 us |  -0.91% |   FAST   |
|  I64  |     1      |   100000    |    100000    | 114.772 us |       2.77% | 114.868 us |       2.81% |  0.096 us |   0.08% |   SAME   |
|  I64  |     1      |  10000000   |    100000    | 280.079 us |       0.61% | 272.171 us |       1.17% | -7.908 us |  -2.82% |   FAST   |
|  I64  |     1      |  10000000   |   10000000   | 587.797 us |       0.39% | 587.067 us |       0.31% | -0.730 us |  -0.12% |   SAME   |

# distinct_left_join

## [0] NVIDIA H100 80GB HBM3

|  Key  |  Nullable  |  left_size  |  right_size  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |      Diff |   %Diff |  Status  |
|-------|------------|-------------|--------------|------------|-------------|------------|-------------|-----------|---------|----------|
|  I32  |     0      |    1000     |     1000     |  51.573 us |       2.19% |  53.932 us |       1.50% |  2.359 us |   4.57% |   SLOW   |
|  I32  |     0      |   100000    |     1000     |  53.801 us |       2.70% |  54.312 us |       1.44% |  0.511 us |   0.95% |   SAME   |
|  I32  |     0      |  10000000   |     1000     | 390.009 us |       0.25% | 390.043 us |       0.24% |  0.034 us |   0.01% |   SAME   |
|  I32  |     0      |   100000    |    100000    |  75.969 us |       1.52% |  76.168 us |       1.35% |  0.199 us |   0.26% |   SAME   |
|  I32  |     0      |  10000000   |    100000    | 456.601 us |       0.27% | 456.600 us |       0.27% | -0.001 us |  -0.00% |   SAME   |
|  I32  |     0      |  10000000   |   10000000   |   1.379 ms |       0.11% |   1.378 ms |       0.09% | -0.083 us |  -0.01% |   SAME   |
|  I32  |     1      |    1000     |     1000     |  82.138 us |       3.31% |  87.369 us |       5.25% |  5.231 us |   6.37% |   SLOW   |
|  I32  |     1      |   100000    |     1000     |  86.923 us |       4.21% |  84.411 us |       4.61% | -2.512 us |  -2.89% |   SAME   |
|  I32  |     1      |  10000000   |     1000     | 193.792 us |       0.72% | 193.232 us |       0.84% | -0.561 us |  -0.29% |   SAME   |
|  I32  |     1      |   100000    |    100000    |  87.560 us |       4.43% |  90.441 us |       4.96% |  2.881 us |   3.29% |   SAME   |
|  I32  |     1      |  10000000   |    100000    | 201.306 us |       1.54% | 197.259 us |       0.67% | -4.047 us |  -2.01% |   FAST   |
|  I32  |     1      |  10000000   |   10000000   | 500.691 us |       0.45% | 498.653 us |       0.55% | -2.038 us |  -0.41% |   SAME   |
|  I64  |     0      |    1000     |     1000     |  49.451 us |       2.56% |  53.656 us |       1.48% |  4.204 us |   8.50% |   SLOW   |
|  I64  |     0      |   100000    |     1000     |  51.644 us |       3.01% |  50.831 us |       2.67% | -0.813 us |  -1.58% |   SAME   |
|  I64  |     0      |  10000000   |     1000     | 352.354 us |       0.23% | 348.247 us |       0.24% | -4.107 us |  -1.17% |   FAST   |
|  I64  |     0      |   100000    |    100000    |  74.085 us |       1.28% |  73.558 us |       1.61% | -0.528 us |  -0.71% |   SAME   |
|  I64  |     0      |  10000000   |    100000    | 462.120 us |       0.28% | 461.726 us |       0.25% | -0.394 us |  -0.09% |   SAME   |
|  I64  |     0      |  10000000   |   10000000   |   1.410 ms |       0.09% |   1.410 ms |       0.10% | -0.187 us |  -0.01% |   SAME   |
|  I64  |     1      |    1000     |     1000     |  82.767 us |       4.01% |  86.485 us |       5.51% |  3.718 us |   4.49% |   SLOW   |
|  I64  |     1      |   100000    |     1000     |  86.277 us |       4.17% |  86.131 us |       5.00% | -0.146 us |  -0.17% |   SAME   |
|  I64  |     1      |  10000000   |     1000     | 197.141 us |       0.68% | 196.573 us |       0.59% | -0.569 us |  -0.29% |   SAME   |
|  I64  |     1      |   100000    |    100000    |  88.188 us |       4.50% |  89.536 us |       4.82% |  1.348 us |   1.53% |   SAME   |
|  I64  |     1      |  10000000   |    100000    | 205.077 us |       1.53% | 201.265 us |       0.67% | -3.813 us |  -1.86% |   FAST   |
|  I64  |     1      |  10000000   |   10000000   | 517.652 us |       0.46% | 517.265 us |       0.29% | -0.387 us |  -0.07% |   SAME   |

# high_multiplicity_inner_join

## [0] NVIDIA H100 80GB HBM3

|  left_size  |  right_size  |  multiplicity  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |          Diff |   %Diff |  Status  |
|-------------|--------------|----------------|------------|-------------|------------|-------------|---------------|---------|----------|
|   100000    |    100000    |       10       | 192.342 us |       2.89% | 177.549 us |       0.87% |    -14.793 us |  -7.69% |   FAST   |
|   100000    |    100000    |       20       | 248.742 us |       1.83% | 223.070 us |       1.37% |    -25.673 us | -10.32% |   FAST   |
|   100000    |    100000    |       50       | 402.537 us |       1.24% | 357.712 us |       1.20% |    -44.825 us | -11.14% |   FAST   |
|   100000    |    100000    |      100       | 660.580 us |       0.55% | 576.539 us |       0.87% |    -84.041 us | -12.72% |   FAST   |
|   100000    |    100000    |      1000      |   4.872 ms |       0.55% |   4.318 ms |       0.44% |   -553.611 us | -11.36% |   FAST   |
|   100000    |    100000    |     10000      |  43.878 ms |       1.01% |  38.073 ms |       0.50% |  -5804.701 us | -13.23% |   FAST   |
|   100000    |    100000    |     50000      | 192.519 ms |       0.89% | 166.915 ms |       1.17% | -25603.983 us | -13.30% |   FAST   |

# high_multiplicity_left_join

## [0] NVIDIA H100 80GB HBM3

|  left_size  |  right_size  |  multiplicity  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |          Diff |   %Diff |  Status  |
|-------------|--------------|----------------|------------|-------------|------------|-------------|---------------|---------|----------|
|   100000    |    100000    |       10       | 199.659 us |       1.09% | 191.122 us |       2.38% |     -8.536 us |  -4.28% |   FAST   |
|   100000    |    100000    |       20       | 258.045 us |       0.64% | 244.209 us |       1.40% |    -13.835 us |  -5.36% |   FAST   |
|   100000    |    100000    |       50       | 419.160 us |       1.14% | 394.634 us |       0.99% |    -24.526 us |  -5.85% |   FAST   |
|   100000    |    100000    |      100       | 686.169 us |       0.78% | 644.263 us |       0.53% |    -41.906 us |  -6.11% |   FAST   |
|   100000    |    100000    |      1000      |   5.086 ms |       0.61% |   4.870 ms |       0.48% |   -215.693 us |  -4.24% |   FAST   |
|   100000    |    100000    |     10000      |  46.253 ms |       0.98% |  42.530 ms |       0.65% |  -3723.028 us |  -8.05% |   FAST   |
|   100000    |    100000    |     50000      | 202.373 ms |       0.96% | 185.152 ms |       1.23% | -17220.535 us |  -8.51% |   FAST   |

# high_multiplicity_full_join

## [0] NVIDIA H100 80GB HBM3

|  left_size  |  right_size  |  multiplicity  |   Ref Time |   Ref Noise |   Cmp Time |   Cmp Noise |          Diff |   %Diff |  Status  |
|-------------|--------------|----------------|------------|-------------|------------|-------------|---------------|---------|----------|
|   100000    |    100000    |       10       | 285.804 us |       0.74% | 275.411 us |       1.85% |    -10.393 us |  -3.64% |   FAST   |
|   100000    |    100000    |       20       | 349.979 us |       0.63% | 336.248 us |       0.83% |    -13.731 us |  -3.92% |   FAST   |
|   100000    |    100000    |       50       | 492.786 us |       1.01% | 469.498 us |       0.88% |    -23.288 us |  -4.73% |   FAST   |
|   100000    |    100000    |      100       | 794.755 us |       0.73% | 755.507 us |       0.47% |    -39.248 us |  -4.94% |   FAST   |
|   100000    |    100000    |      1000      |   5.972 ms |       0.52% |   5.765 ms |       0.46% |   -207.055 us |  -3.47% |   FAST   |
|   100000    |    100000    |     10000      |  53.180 ms |       0.83% |  49.554 ms |       0.47% |  -3626.164 us |  -6.82% |   FAST   |
|   100000    |    100000    |     50000      | 221.420 ms |       0.86% | 204.842 ms |       1.10% | -16577.634 us |  -7.49% |   FAST   |

# Summary

- Total Matches: 333
  - Pass    (diff <= min_noise): 152
  - Unknown (infinite noise):    0
  - Failure (diff > min_noise):  181

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 - Ready for Review Ready for review by team CMake CMake build issue cuco cuCollections related issue improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change Performance Performance related issue Python Affects Python cuDF API.

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

9 participants