Commit 1eec72e
authored
feat: prefer take to filter for very sparse masks (#1249)
Fixes #1248
It seems to me that if we have fewer than one-in-1024 values there is no
chance for SIMD vectorization to make the mask as fast as a take.
Mild improvement.
```
group develop layouts take-one-in-1024 take-one-in-128 take-one-in-16 always-take
----- ------- ------- ---------------- --------------- -------------- -----------
vortex-local-fs 1.00 381.3±10.78µs 34.91 13.3±0.13ms 29.49 11.2±0.11ms 29.63 11.3±0.09ms 29.75 11.3±0.13ms 29.71 11.3±0.12ms
vortex-tokio-local-disk 1.00 349.5±12.64µs 29.46 10.3±0.14ms 24.23 8.5±0.15ms 24.73 8.6±0.09ms 24.80 8.7±0.12ms 24.85 8.7±0.18ms
```1 parent 520ffc4 commit 1eec72e
2 files changed
+16
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
| 6 | + | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
| 14 | + | |
13 | 15 | | |
14 | 16 | | |
15 | 17 | | |
| |||
158 | 160 | | |
159 | 161 | | |
160 | 162 | | |
161 | | - | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
162 | 171 | | |
163 | | - | |
| 172 | + | |
| 173 | + | |
164 | 174 | | |
165 | 175 | | |
166 | | - | |
| 176 | + | |
167 | 177 | | |
168 | 178 | | |
169 | 179 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
| 188 | + | |
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
| |||
0 commit comments