Commit d85595e
perf: optimize CASE WHEN lookup table (2.5-22.5 times faster) (apache#18183)
**Half of the changes are new tests**
## Which issue does this PR close?
N/A
Part of:
- #18075
Benchmark is in:
- #18203
## Rationale for this change
Optimize for Lookup table like `CASE WHEN`:
```sql
CASE company
WHEN 1 THEN 'Apple'
WHEN 5 THEN 'Samsung'
WHEN 2 THEN 'Motorola'
WHEN 3 THEN 'LG'
ELSE 'Other'
END
```
## What changes are included in this PR?
Implement the case when as a lookup table
## Are these changes tested?
Yes, a lot
## Are there any user-facing changes?
Nope
-----
# Benchmark results
(run against main before the #18152 was merged)
## Env
```console
$ neofetch
.-/+oossssoo+/-. ubuntu@ip-
`:+ssssssssssssssssss+:` -----------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 24.04.3 LTS x86_64
.ossssssssssssssssssdMMMNysssso. Host: c5d.metal 00001
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 6.14.0-1011-aws
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 1 hour, 34 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 818 (dpkg), 4 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: bash 5.2.21
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Terminal: /dev/pts/0
ossyNMMMNyMMhsssssssssssssshmmmhssssssso CPU: Intel Xeon Platinum 8275CL (96) @ 3.900GHz
ossyNMMMNyMMhsssssssssssssshmmmhssssssso Memory: 1959MiB / 193026MiB
+sssshhhyNMMNyssssssssssssyNMMMysssssss+
.ssssssssdMMMNhsssssssssshNMMMdssssssss.
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/
+sssssssssdmydMMMMMMMMddddyssssssss+
/ssssssssssshdmNNNNmyNMMMMhssssss/
.ossssssssssssssssssdMMMNysssso.
-+sssssssssssssssssyyyssss+-
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
```
## Formatted output
### Lookup table from `i32` to `utf8`
<details>
<summary>Details</summary>
| Entries | Match distribution | In range | Nulls | Before | After |
Speedup factor | Improvement percent |
|:--------|:----------------------|:---------|:------|:----------|:----------|:---------------|:--------------------|
| 5 | only first 2 are true | 0.1 | 0 | 342.42 µs | 124.29 µs | 2.76 |
63.70% |
| 5 | only first 2 are true | 0.1 | 0.1 | 486.07 µs | 132.26 µs | 3.68 |
72.79% |
| 5 | only first 2 are true | 0.1 | 0.5 | 452.28 µs | 136.54 µs | 3.31 |
69.81% |
| 5 | only first 2 are true | 0.5 | 0 | 341.64 µs | 124.24 µs | 2.75 |
63.63% |
| 5 | only first 2 are true | 0.5 | 0.1 | 485.5 µs | 131.59 µs | 3.69 |
72.90% |
| 5 | only first 2 are true | 0.5 | 0.5 | 452.87 µs | 136.07 µs | 3.33 |
69.95% |
| 5 | only first 2 are true | 0.9 | 0 | 342.3 µs | 124.26 µs | 2.75 |
63.70% |
| 5 | only first 2 are true | 0.9 | 0.1 | 486.23 µs | 131.58 µs | 3.70 |
72.94% |
| 5 | only first 2 are true | 1 | 0 | 342.17 µs | 124.18 µs | 2.76 |
63.71% |
| 5 | all equally true | 0.1 | 0 | 572.16 µs | 128.25 µs | 4.46 | 77.59%
|
| 5 | all equally true | 0.1 | 0.1 | 729.22 µs | 137.72 µs | 5.29 |
81.11% |
| 5 | all equally true | 0.1 | 0.5 | 613.92 µs | 143.11 µs | 4.29 |
76.69% |
| 5 | all equally true | 0.5 | 0 | 581.46 µs | 128.06 µs | 4.54 | 77.98%
|
| 5 | all equally true | 0.5 | 0.1 | 729.15 µs | 137.51 µs | 5.30 |
81.14% |
| 5 | all equally true | 0.5 | 0.5 | 614.96 µs | 142.61 µs | 4.31 |
76.81% |
| 5 | all equally true | 0.9 | 0 | 582.95 µs | 128.05 µs | 4.55 | 78.03%
|
| 5 | all equally true | 0.9 | 0.1 | 729.73 µs | 137.78 µs | 5.30 |
81.12% |
| 5 | all equally true | 1 | 0 | 582.91 µs | 128.10 µs | 4.55 | 78.02% |
| 10 | only first 2 are true | 0.1 | 0 | 343.09 µs | 124.25 µs | 2.76 |
63.79% |
| 10 | only first 2 are true | 0.1 | 0.1 | 485.82 µs | 131.55 µs | 3.69
| 72.92% |
| 10 | only first 2 are true | 0.1 | 0.5 | 452.13 µs | 135.86 µs | 3.33
| 69.95% |
| 10 | only first 2 are true | 0.5 | 0 | 341.8 µs | 124.47 µs | 2.75 |
63.58% |
| 10 | only first 2 are true | 0.5 | 0.1 | 485.93 µs | 131.76 µs | 3.69
| 72.89% |
| 10 | only first 2 are true | 0.5 | 0.5 | 451.78 µs | 134.69 µs | 3.35
| 70.19% |
| 10 | only first 2 are true | 0.9 | 0 | 341.35 µs | 124.23 µs | 2.75 |
63.61% |
| 10 | only first 2 are true | 0.9 | 0.1 | 486.49 µs | 131.61 µs | 3.70
| 72.95% |
| 10 | only first 2 are true | 1 | 0 | 341.9 µs | 124.23 µs | 2.75 |
63.67% |
| 10 | all equally true | 0.1 | 0 | 805.49 µs | 128.42 µs | 6.27 |
84.06% |
| 10 | all equally true | 0.1 | 0.1 | 1.02 ms | 139.42 µs | 7.35 |
86.40% |
| 10 | all equally true | 0.1 | 0.5 | 831.82 µs | 148.33 µs | 5.61 |
82.17% |
| 10 | all equally true | 0.5 | 0 | 804.29 µs | 127.81 µs | 6.29 |
84.11% |
| 10 | all equally true | 0.5 | 0.1 | 1.03 ms | 139.43 µs | 7.37 |
86.43% |
| 10 | all equally true | 0.5 | 0.5 | 834.77 µs | 147.32 µs | 5.67 |
82.35% |
| 10 | all equally true | 0.9 | 0 | 804.09 µs | 127.89 µs | 6.29 |
84.10% |
| 10 | all equally true | 0.9 | 0.1 | 1.03 ms | 139.37 µs | 7.38 |
86.45% |
| 10 | all equally true | 1 | 0 | 804.72 µs | 127.62 µs | 6.31 | 84.14%
|
| 20 | only first 2 are true | 0.1 | 0 | 341.46 µs | 124.65 µs | 2.74 |
63.50% |
| 20 | only first 2 are true | 0.1 | 0.1 | 485.44 µs | 131.55 µs | 3.69
| 72.90% |
| 20 | only first 2 are true | 0.1 | 0.5 | 451.93 µs | 135.37 µs | 3.34
| 70.05% |
| 20 | only first 2 are true | 0.5 | 0 | 341.68 µs | 124.20 µs | 2.75 |
63.65% |
| 20 | only first 2 are true | 0.5 | 0.1 | 485.82 µs | 131.71 µs | 3.69
| 72.89% |
| 20 | only first 2 are true | 0.5 | 0.5 | 453.28 µs | 134.95 µs | 3.36
| 70.23% |
| 20 | only first 2 are true | 0.9 | 0 | 342.09 µs | 124.31 µs | 2.75 |
63.66% |
| 20 | only first 2 are true | 0.9 | 0.1 | 486.23 µs | 131.68 µs | 3.69
| 72.92% |
| 20 | only first 2 are true | 1 | 0 | 344.5 µs | 124.08 µs | 2.78 |
63.98% |
| 20 | all equally true | 0.1 | 0 | 1.17 ms | 129.57 µs | 9.07 | 88.97%
|
| 20 | all equally true | 0.1 | 0.1 | 1.52 ms | 139.71 µs | 10.88 |
90.81% |
| 20 | all equally true | 0.1 | 0.5 | 1.23 ms | 162.51 µs | 7.56 |
86.77% |
| 20 | all equally true | 0.5 | 0 | 1.17 ms | 129.42 µs | 9.05 | 88.95%
|
| 20 | all equally true | 0.5 | 0.1 | 1.53 ms | 139.46 µs | 10.94 |
90.86% |
| 20 | all equally true | 0.5 | 0.5 | 1.23 ms | 160.13 µs | 7.69 |
86.99% |
| 20 | all equally true | 0.9 | 0 | 1.17 ms | 130.18 µs | 9.00 | 88.89%
|
| 20 | all equally true | 0.9 | 0.1 | 1.53 ms | 141.68 µs | 10.79 |
90.73% |
| 20 | all equally true | 1 | 0 | 1.17 ms | 129.26 µs | 9.05 | 88.95% |
</details>
### Lookup table from `utf8` to `i32`
<details>
<summary>Details</summary>
| Entries | Match distribution | In range | Nulls | Before | After |
Speedup factor | Improvement percent |
|:--------|:----------------------|:---------|:------|:----------|:----------|:---------------|:--------------------|
| 5 | only first 2 are true | 0.1 | 0 | 446.57 µs | 111.66 µs | 4.00 |
75.00% |
| 5 | only first 2 are true | 0.1 | 0.1 | 566.38 µs | 118.01 µs | 4.80 |
79.16% |
| 5 | only first 2 are true | 0.1 | 0.5 | 516.01 µs | 100.55 µs | 5.13 |
80.51% |
| 5 | only first 2 are true | 0.5 | 0 | 446.29 µs | 111.84 µs | 3.99 |
74.94% |
| 5 | only first 2 are true | 0.5 | 0.1 | 566.8 µs | 118.37 µs | 4.79 |
79.12% |
| 5 | only first 2 are true | 0.5 | 0.5 | 518.22 µs | 100.57 µs | 5.15 |
80.59% |
| 5 | only first 2 are true | 0.9 | 0 | 446.05 µs | 111.87 µs | 3.99 |
74.92% |
| 5 | only first 2 are true | 0.9 | 0.1 | 566.68 µs | 118.22 µs | 4.79 |
79.14% |
| 5 | only first 2 are true | 1 | 0 | 445.79 µs | 111.64 µs | 3.99 |
74.96% |
| 5 | all equally true | 0.1 | 0 | 807.39 µs | 116.74 µs | 6.92 | 85.54%
|
| 5 | all equally true | 0.1 | 0.1 | 966.6 µs | 124.14 µs | 7.79 |
87.16% |
| 5 | all equally true | 0.1 | 0.5 | 804.4 µs | 103.10 µs | 7.80 |
87.18% |
| 5 | all equally true | 0.5 | 0 | 806.04 µs | 117.15 µs | 6.88 | 85.47%
|
| 5 | all equally true | 0.5 | 0.1 | 965.02 µs | 123.88 µs | 7.79 |
87.16% |
| 5 | all equally true | 0.5 | 0.5 | 807.47 µs | 103.09 µs | 7.83 |
87.23% |
| 5 | all equally true | 0.9 | 0 | 807.35 µs | 118.56 µs | 6.81 | 85.32%
|
| 5 | all equally true | 0.9 | 0.1 | 968.4 µs | 125.36 µs | 7.72 |
87.06% |
| 5 | all equally true | 1 | 0 | 808.66 µs | 116.90 µs | 6.92 | 85.54% |
| 10 | only first 2 are true | 0.1 | 0 | 445.58 µs | 111.32 µs | 4.00 |
75.02% |
| 10 | only first 2 are true | 0.1 | 0.1 | 565.28 µs | 117.99 µs | 4.79
| 79.13% |
| 10 | only first 2 are true | 0.1 | 0.5 | 516.07 µs | 100.66 µs | 5.13
| 80.50% |
| 10 | only first 2 are true | 0.5 | 0 | 444.97 µs | 111.74 µs | 3.98 |
74.89% |
| 10 | only first 2 are true | 0.5 | 0.1 | 567.15 µs | 118.50 µs | 4.79
| 79.11% |
| 10 | only first 2 are true | 0.5 | 0.5 | 517.95 µs | 100.56 µs | 5.15
| 80.59% |
| 10 | only first 2 are true | 0.9 | 0 | 446 µs | 111.74 µs | 3.99 |
74.95% |
| 10 | only first 2 are true | 0.9 | 0.1 | 567.03 µs | 118.47 µs | 4.79
| 79.11% |
| 10 | only first 2 are true | 1 | 0 | 446.02 µs | 111.67 µs | 3.99 |
74.96% |
| 10 | all equally true | 0.1 | 0 | 1.4 ms | 116.93 µs | 11.96 | 91.64%
|
| 10 | all equally true | 0.1 | 0.1 | 1.61 ms | 123.50 µs | 13.07 |
92.35% |
| 10 | all equally true | 0.1 | 0.5 | 1.3 ms | 102.04 µs | 12.72 |
92.14% |
| 10 | all equally true | 0.5 | 0 | 1.38 ms | 116.69 µs | 11.87 | 91.57%
|
| 10 | all equally true | 0.5 | 0.1 | 1.62 ms | 123.70 µs | 13.11 |
92.37% |
| 10 | all equally true | 0.5 | 0.5 | 1.3 ms | 102.63 µs | 12.69 |
92.12% |
| 10 | all equally true | 0.9 | 0 | 1.4 ms | 116.34 µs | 12.01 | 91.67%
|
| 10 | all equally true | 0.9 | 0.1 | 1.62 ms | 123.65 µs | 13.13 |
92.38% |
| 10 | all equally true | 1 | 0 | 1.4 ms | 115.50 µs | 12.13 | 91.76% |
| 20 | only first 2 are true | 0.1 | 0 | 444.8 µs | 111.29 µs | 4.00 |
74.98% |
| 20 | only first 2 are true | 0.1 | 0.1 | 565.22 µs | 117.95 µs | 4.79
| 79.13% |
| 20 | only first 2 are true | 0.1 | 0.5 | 515.85 µs | 100.57 µs | 5.13
| 80.50% |
| 20 | only first 2 are true | 0.5 | 0 | 444.99 µs | 111.71 µs | 3.98 |
74.90% |
| 20 | only first 2 are true | 0.5 | 0.1 | 567.19 µs | 118.40 µs | 4.79
| 79.13% |
| 20 | only first 2 are true | 0.5 | 0.5 | 517.09 µs | 100.73 µs | 5.13
| 80.52% |
| 20 | only first 2 are true | 0.9 | 0 | 444.54 µs | 111.77 µs | 3.98 |
74.86% |
| 20 | only first 2 are true | 0.9 | 0.1 | 566.4 µs | 118.35 µs | 4.79 |
79.11% |
| 20 | only first 2 are true | 1 | 0 | 444.98 µs | 111.97 µs | 3.97 |
74.84% |
| 20 | all equally true | 0.1 | 0 | 2.38 ms | 116.41 µs | 20.47 | 95.12%
|
| 20 | all equally true | 0.1 | 0.1 | 2.74 ms | 121.93 µs | 22.45 |
95.55% |
| 20 | all equally true | 0.1 | 0.5 | 2.16 ms | 101.35 µs | 21.31 |
95.31% |
| 20 | all equally true | 0.5 | 0 | 2.37 ms | 116.09 µs | 20.45 | 95.11%
|
| 20 | all equally true | 0.5 | 0.1 | 2.74 ms | 122.10 µs | 22.45 |
95.55% |
| 20 | all equally true | 0.5 | 0.5 | 2.16 ms | 101.41 µs | 21.33 |
95.31% |
| 20 | all equally true | 0.9 | 0 | 2.37 ms | 116.09 µs | 20.42 | 95.10%
|
| 20 | all equally true | 0.9 | 0.1 | 2.75 ms | 122.30 µs | 22.50 |
95.56% |
| 20 | all equally true | 1 | 0 | 2.37 ms | 116.22 µs | 20.43 | 95.11% |
</details>
## criterion output:
<details>
<summary>Benchmark results</summary>
```
lookup_table_case_when/case when i32 -> utf8, 5 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [128.08 µs 128.25 µs 128.47 µs]
change: [-77.646% -77.585% -77.523%] (p = 0.00 < 0.05)
Performance has improved.
Found 15 outliers among 100 measurements (15.00%)
5 (5.00%) high mild
10 (10.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [116.61 µs 116.74 µs 116.88 µs]
change: [-85.584% -85.541% -85.494%] (p = 0.00 < 0.05)
Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
2 (2.00%) high mild
7 (7.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [124.21 µs 124.29 µs 124.40 µs]
change: [-63.787% -63.703% -63.618%] (p = 0.00 < 0.05)
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
3 (3.00%) high mild
10 (10.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [111.57 µs 111.66 µs 111.77 µs]
change: [-75.040% -74.996% -74.953%] (p = 0.00 < 0.05)
Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
3 (3.00%) high mild
6 (6.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [128.15 µs 128.42 µs 128.70 µs]
change: [-84.100% -84.057% -84.018%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
lookup_table_case_when/case when utf8 -> i32, 10 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [116.49 µs 116.93 µs 117.40 µs]
change: [-91.665% -91.637% -91.610%] (p = 0.00 < 0.05)
Performance has improved.
lookup_table_case_when/case when i32 -> utf8, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [124.18 µs 124.25 µs 124.32 µs]
change: [-63.877% -63.785% -63.700%] (p = 0.00 < 0.05)
Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
4 (4.00%) high mild
6 (6.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [111.27 µs 111.32 µs 111.38 µs]
change: [-75.062% -75.017% -74.972%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
7 (7.00%) high mild
4 (4.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [129.47 µs 129.57 µs 129.71 µs]
change: [-88.994% -88.969% -88.947%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
1 (1.00%) high mild
11 (11.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [115.77 µs 116.41 µs 117.19 µs]
change: [-95.137% -95.115% -95.094%] (p = 0.00 < 0.05)
Performance has improved.
Found 14 outliers among 100 measurements (14.00%)
3 (3.00%) high mild
11 (11.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [124.45 µs 124.65 µs 124.88 µs]
change: [-63.587% -63.495% -63.392%] (p = 0.00 < 0.05)
Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0
time: [111.20 µs 111.29 µs 111.41 µs]
change: [-75.032% -74.980% -74.925%] (p = 0.00 < 0.05)
Performance has improved.
Found 16 outliers among 100 measurements (16.00%)
4 (4.00%) high mild
12 (12.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [137.62 µs 137.72 µs 137.85 µs]
change: [-81.149% -81.114% -81.080%] (p = 0.00 < 0.05)
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
2 (2.00%) high mild
11 (11.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [123.72 µs 124.14 µs 124.62 µs]
change: [-87.199% -87.157% -87.110%] (p = 0.00 < 0.05)
Performance has improved.
Found 17 outliers among 100 measurements (17.00%)
17 (17.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [132.00 µs 132.26 µs 132.54 µs]
change: [-72.864% -72.790% -72.722%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [117.86 µs 118.01 µs 118.19 µs]
change: [-79.210% -79.164% -79.123%] (p = 0.00 < 0.05)
Performance has improved.
Found 17 outliers among 100 measurements (17.00%)
3 (3.00%) high mild
14 (14.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [139.31 µs 139.42 µs 139.56 µs]
change: [-86.426% -86.396% -86.369%] (p = 0.00 < 0.05)
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
1 (1.00%) high mild
12 (12.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [123.41 µs 123.50 µs 123.58 µs]
change: [-92.365% -92.349% -92.335%] (p = 0.00 < 0.05)
Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
3 (3.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [131.40 µs 131.55 µs 131.70 µs]
change: [-72.995% -72.922% -72.862%] (p = 0.00 < 0.05)
Performance has improved.
Found 17 outliers among 100 measurements (17.00%)
4 (4.00%) low severe
3 (3.00%) high mild
10 (10.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [117.82 µs 117.99 µs 118.18 µs]
change: [-79.171% -79.127% -79.084%] (p = 0.00 < 0.05)
Performance has improved.
Found 20 outliers among 100 measurements (20.00%)
17 (17.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [139.56 µs 139.71 µs 139.88 µs]
change: [-90.824% -90.806% -90.787%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
6 (6.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [121.79 µs 121.93 µs 122.13 µs]
change: [-95.551% -95.545% -95.537%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
4 (4.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [131.45 µs 131.55 µs 131.68 µs]
change: [-72.952% -72.901% -72.849%] (p = 0.00 < 0.05)
Performance has improved.
Found 16 outliers among 100 measurements (16.00%)
4 (4.00%) high mild
12 (12.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.1
time: [117.77 µs 117.95 µs 118.16 µs]
change: [-79.183% -79.132% -79.083%] (p = 0.00 < 0.05)
Performance has improved.
Found 18 outliers among 100 measurements (18.00%)
4 (4.00%) high mild
14 (14.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [142.92 µs 143.11 µs 143.32 µs]
change: [-76.751% -76.689% -76.631%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [103.01 µs 103.10 µs 103.20 µs]
change: [-87.210% -87.183% -87.150%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
5 (5.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [136.35 µs 136.54 µs 136.72 µs]
change: [-69.862% -69.811% -69.768%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) low mild
lookup_table_case_when/case when utf8 -> i32, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [100.48 µs 100.55 µs 100.63 µs]
change: [-80.552% -80.514% -80.470%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
5 (5.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [148.15 µs 148.33 µs 148.53 µs]
change: [-82.208% -82.168% -82.129%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [101.98 µs 102.04 µs 102.11 µs]
change: [-92.159% -92.140% -92.121%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
4 (4.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [135.62 µs 135.86 µs 136.11 µs]
change: [-70.018% -69.951% -69.891%] (p = 0.00 < 0.05)
Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [100.56 µs 100.66 µs 100.78 µs]
change: [-80.545% -80.495% -80.448%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) high mild
4 (4.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [162.30 µs 162.51 µs 162.73 µs]
change: [-86.797% -86.769% -86.742%] (p = 0.00 < 0.05)
Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, all equally true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [101.28 µs 101.35 µs 101.43 µs]
change: [-95.315% -95.307% -95.296%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
3 (3.00%) high mild
4 (4.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [135.24 µs 135.37 µs 135.50 µs]
change: [-70.108% -70.046% -69.984%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
1 (1.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.1, nulls: 0.5
time: [100.50 µs 100.57 µs 100.64 µs]
change: [-80.547% -80.504% -80.464%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
4 (4.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [127.93 µs 128.06 µs 128.22 µs]
change: [-78.023% -77.976% -77.936%] (p = 0.00 < 0.05)
Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) high mild
8 (8.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [117.03 µs 117.15 µs 117.27 µs]
change: [-85.495% -85.466% -85.438%] (p = 0.00 < 0.05)
Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
2 (2.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [124.19 µs 124.24 µs 124.30 µs]
change: [-63.716% -63.634% -63.552%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
3 (3.00%) high mild
5 (5.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [111.71 µs 111.84 µs 111.99 µs]
change: [-74.989% -74.940% -74.897%] (p = 0.00 < 0.05)
Performance has improved.
Found 27 outliers among 100 measurements (27.00%)
13 (13.00%) low severe
4 (4.00%) high mild
10 (10.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [127.65 µs 127.81 µs 128.00 µs]
change: [-84.142% -84.109% -84.075%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
3 (3.00%) high mild
9 (9.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [116.32 µs 116.69 µs 117.17 µs]
change: [-91.627% -91.573% -91.515%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
1 (1.00%) high mild
11 (11.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [124.30 µs 124.47 µs 124.67 µs]
change: [-63.643% -63.584% -63.525%] (p = 0.00 < 0.05)
Performance has improved.
Found 17 outliers among 100 measurements (17.00%)
1 (1.00%) high mild
16 (16.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [111.57 µs 111.74 µs 111.93 µs]
change: [-74.941% -74.888% -74.840%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
3 (3.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [129.27 µs 129.42 µs 129.60 µs]
change: [-88.965% -88.945% -88.927%] (p = 0.00 < 0.05)
Performance has improved.
Found 19 outliers among 100 measurements (19.00%)
3 (3.00%) high mild
16 (16.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [115.99 µs 116.09 µs 116.19 µs]
change: [-95.120% -95.111% -95.103%] (p = 0.00 < 0.05)
Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
2 (2.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [124.12 µs 124.20 µs 124.31 µs]
change: [-63.736% -63.650% -63.558%] (p = 0.00 < 0.05)
Performance has improved.
Found 15 outliers among 100 measurements (15.00%)
6 (6.00%) high mild
9 (9.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0
time: [111.56 µs 111.71 µs 111.88 µs]
change: [-74.957% -74.896% -74.827%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [137.42 µs 137.51 µs 137.60 µs]
change: [-81.179% -81.141% -81.105%] (p = 0.00 < 0.05)
Performance has improved.
Found 15 outliers among 100 measurements (15.00%)
3 (3.00%) low severe
7 (7.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [123.76 µs 123.88 µs 124.00 µs]
change: [-87.183% -87.163% -87.143%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [131.53 µs 131.59 µs 131.66 µs]
change: [-72.950% -72.896% -72.845%] (p = 0.00 < 0.05)
Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
4 (4.00%) high mild
6 (6.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [118.16 µs 118.37 µs 118.60 µs]
change: [-79.167% -79.116% -79.055%] (p = 0.00 < 0.05)
Performance has improved.
Found 16 outliers among 100 measurements (16.00%)
12 (12.00%) high mild
4 (4.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [139.29 µs 139.43 µs 139.58 µs]
change: [-86.468% -86.429% -86.385%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [123.56 µs 123.70 µs 123.86 µs]
change: [-92.393% -92.373% -92.353%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
4 (4.00%) high mild
4 (4.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [131.64 µs 131.76 µs 131.91 µs]
change: [-72.956% -72.885% -72.810%] (p = 0.00 < 0.05)
Performance has improved.
Found 17 outliers among 100 measurements (17.00%)
4 (4.00%) high mild
13 (13.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [118.24 µs 118.50 µs 118.77 µs]
change: [-79.167% -79.106% -79.050%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
lookup_table_case_when/case when i32 -> utf8, 20 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [139.41 µs 139.46 µs 139.52 µs]
change: [-90.879% -90.862% -90.845%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
8 (8.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [121.95 µs 122.10 µs 122.28 µs]
change: [-95.557% -95.546% -95.533%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
4 (4.00%) high mild
8 (8.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [131.58 µs 131.71 µs 131.87 µs]
change: [-72.935% -72.889% -72.850%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
2 (2.00%) high mild
10 (10.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.1
time: [118.20 µs 118.40 µs 118.64 µs]
change: [-79.170% -79.125% -79.082%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [142.46 µs 142.61 µs 142.79 µs]
change: [-76.856% -76.810% -76.763%] (p = 0.00 < 0.05)
Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
2 (2.00%) low mild
4 (4.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [103.02 µs 103.09 µs 103.17 µs]
change: [-87.259% -87.233% -87.205%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [135.88 µs 136.07 µs 136.30 µs]
change: [-70.013% -69.954% -69.895%] (p = 0.00 < 0.05)
Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
4 (4.00%) high mild
5 (5.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [100.50 µs 100.57 µs 100.65 µs]
change: [-80.633% -80.593% -80.551%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [147.17 µs 147.32 µs 147.49 µs]
change: [-82.386% -82.352% -82.315%] (p = 0.00 < 0.05)
Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
2 (2.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [102.54 µs 102.63 µs 102.73 µs]
change: [-92.137% -92.119% -92.099%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
4 (4.00%) high mild
4 (4.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [134.61 µs 134.69 µs 134.78 µs]
change: [-70.271% -70.187% -70.123%] (p = 0.00 < 0.05)
Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
2 (2.00%) low mild
6 (6.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [100.45 µs 100.56 µs 100.67 µs]
change: [-80.633% -80.585% -80.535%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
4 (4.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [159.96 µs 160.13 µs 160.31 µs]
change: [-87.017% -86.991% -86.966%] (p = 0.00 < 0.05)
Performance has improved.
Found 16 outliers among 100 measurements (16.00%)
13 (13.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, all equally true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [101.36 µs 101.41 µs 101.47 µs]
change: [-95.318% -95.311% -95.301%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
5 (5.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [134.81 µs 134.95 µs 135.09 µs]
change: [-70.282% -70.228% -70.174%] (p = 0.00 < 0.05)
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
4 (4.00%) low mild
7 (7.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.5, nulls: 0.5
time: [100.61 µs 100.73 µs 100.85 µs]
change: [-80.563% -80.520% -80.473%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [127.91 µs 128.05 µs 128.20 µs]
change: [-78.087% -78.034% -77.983%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
2 (2.00%) high mild
9 (9.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [118.06 µs 118.56 µs 119.10 µs]
change: [-85.370% -85.315% -85.256%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
lookup_table_case_when/case when i32 -> utf8, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [124.19 µs 124.26 µs 124.32 µs]
change: [-63.792% -63.699% -63.621%] (p = 0.00 < 0.05)
Performance has improved.
Found 17 outliers among 100 measurements (17.00%)
9 (9.00%) high mild
8 (8.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [111.69 µs 111.87 µs 112.07 µs]
change: [-74.973% -74.920% -74.872%] (p = 0.00 < 0.05)
Performance has improved.
lookup_table_case_when/case when i32 -> utf8, 10 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [127.74 µs 127.89 µs 128.07 µs]
change: [-84.129% -84.095% -84.058%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
1 (1.00%) high mild
10 (10.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [116.19 µs 116.34 µs 116.51 µs]
change: [-91.690% -91.672% -91.653%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) high mild
3 (3.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [124.18 µs 124.23 µs 124.29 µs]
change: [-63.657% -63.606% -63.545%] (p = 0.00 < 0.05)
Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
1 (1.00%) low severe
1 (1.00%) high mild
8 (8.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [111.52 µs 111.74 µs 111.95 µs]
change: [-74.998% -74.946% -74.896%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [129.91 µs 130.18 µs 130.51 µs]
change: [-88.921% -88.889% -88.859%] (p = 0.00 < 0.05)
Performance has improved.
Found 15 outliers among 100 measurements (15.00%)
15 (15.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [116.00 µs 116.09 µs 116.19 µs]
change: [-95.111% -95.104% -95.095%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [124.20 µs 124.31 µs 124.45 µs]
change: [-63.756% -63.662% -63.556%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
3 (3.00%) high mild
8 (8.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0
time: [111.60 µs 111.77 µs 111.94 µs]
change: [-74.990% -74.857% -74.664%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [137.66 µs 137.78 µs 137.93 µs]
change: [-81.153% -81.119% -81.083%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
4 (4.00%) high mild
8 (8.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [124.95 µs 125.36 µs 125.78 µs]
change: [-87.088% -87.055% -87.017%] (p = 0.00 < 0.05)
Performance has improved.
lookup_table_case_when/case when i32 -> utf8, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [131.52 µs 131.58 µs 131.66 µs]
change: [-72.988% -72.939% -72.888%] (p = 0.00 < 0.05)
Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
6 (6.00%) high mild
6 (6.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [118.03 µs 118.22 µs 118.44 µs]
change: [-79.185% -79.138% -79.089%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [139.27 µs 139.37 µs 139.49 µs]
change: [-86.483% -86.448% -86.421%] (p = 0.00 < 0.05)
Performance has improved.
Found 14 outliers among 100 measurements (14.00%)
10 (10.00%) high mild
4 (4.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [123.54 µs 123.65 µs 123.76 µs]
change: [-92.400% -92.383% -92.365%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
2 (2.00%) high mild
6 (6.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [131.51 µs 131.61 µs 131.72 µs]
change: [-73.003% -72.947% -72.901%] (p = 0.00 < 0.05)
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
2 (2.00%) low severe
5 (5.00%) high mild
6 (6.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [118.27 µs 118.47 µs 118.70 µs]
change: [-79.156% -79.107% -79.060%] (p = 0.00 < 0.05)
Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [141.51 µs 141.68 µs 141.89 µs]
change: [-90.749% -90.730% -90.712%] (p = 0.00 < 0.05)
Performance has improved.
Found 21 outliers among 100 measurements (21.00%)
2 (2.00%) low severe
3 (3.00%) high mild
16 (16.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, all equally true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [122.13 µs 122.30 µs 122.49 µs]
change: [-95.563% -95.555% -95.548%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
5 (5.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [131.58 µs 131.68 µs 131.80 µs]
change: [-72.976% -72.918% -72.855%] (p = 0.00 < 0.05)
Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
5 (5.00%) high mild
8 (8.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 0.9, nulls: 0.1
time: [118.14 µs 118.35 µs 118.58 µs]
change: [-79.153% -79.105% -79.050%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, all equally true/case_when 8192 rows: in_range: 1, nulls: 0
time: [127.98 µs 128.10 µs 128.25 µs]
change: [-78.069% -78.024% -77.986%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
1 (1.00%) high mild
10 (10.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, all equally true/case_when 8192 rows: in_range: 1, nulls: 0
time: [116.73 µs 116.90 µs 117.07 µs]
change: [-85.570% -85.544% -85.516%] (p = 0.00 < 0.05)
Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 1, nulls: 0
time: [124.02 µs 124.18 µs 124.31 µs]
change: [-63.838% -63.708% -63.602%] (p = 0.00 < 0.05)
Performance has improved.
Found 14 outliers among 100 measurements (14.00%)
1 (1.00%) low severe
2 (2.00%) high mild
11 (11.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 5 entries, only first 2 are true/case_when 8192 rows: in_range: 1, nulls: 0
time: [111.48 µs 111.64 µs 111.83 µs]
change: [-75.031% -74.957% -74.892%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 10 entries, all equally true/case_when 8192 rows: in_range: 1, nulls: 0
time: [127.48 µs 127.62 µs 127.80 µs]
change: [-84.177% -84.141% -84.108%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) high mild
7 (7.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, all equally true/case_when 8192 rows: in_range: 1, nulls: 0
time: [115.30 µs 115.50 µs 115.67 µs]
change: [-91.778% -91.756% -91.738%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
lookup_table_case_when/case when i32 -> utf8, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 1, nulls: 0
time: [124.17 µs 124.23 µs 124.30 µs]
change: [-63.781% -63.665% -63.581%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
3 (3.00%) high mild
5 (5.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 10 entries, only first 2 are true/case_when 8192 rows: in_range: 1, nulls: 0
time: [111.50 µs 111.67 µs 111.87 µs]
change: [-75.016% -74.963% -74.910%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, all equally true/case_when 8192 rows: in_range: 1, nulls: 0
time: [129.18 µs 129.26 µs 129.36 µs]
change: [-88.983% -88.953% -88.915%] (p = 0.00 < 0.05)
Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
10 (10.00%) high severe
lookup_table_case_when/case when utf8 -> i32, 20 entries, all equally true/case_when 8192 rows: in_range: 1, nulls: 0
time: [116.02 µs 116.22 µs 116.50 µs]
change: [-95.113% -95.105% -95.096%] (p = 0.00 < 0.05)
Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
5 (5.00%) high mild
2 (2.00%) high severe
lookup_table_case_when/case when i32 -> utf8, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 1, nulls: 0
time: [124.01 µs 124.08 µs 124.15 µs]
change: [-64.080% -63.983% -63.877%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
lookup_table_case_when/case when utf8 -> i32, 20 entries, only first 2 are true/case_when 8192 rows: in_range: 1, nulls: 0
time: [111.80 µs 111.97 µs 112.15 µs]
change: [-74.884% -74.837% -74.784%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
</details>
---------
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>1 parent dc6a712 commit d85595e
File tree
7 files changed
+1582
-33
lines changed- datafusion/physical-expr
- src/expressions
- case/literal_lookup_table
7 files changed
+1582
-33
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
| |||
0 commit comments