Commit 9c6065c
authored
Add benchmarks for reading struct arrays from parquet (#9210)
# Which issue does this PR close?
<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax.
-->
- Closes #9209.
# Rationale for this change
Improve the performance benchmark coverage.
# What changes are included in this PR?
# Are these changes tested?
Benchmark results on my machine, without target specific optimizations:
```
arrow_array_reader/Int32Array/plain encoded, mandatory, no NULLs
time: [8.5123 µs 8.5218 µs 8.5321 µs]
arrow_array_reader/Int32Array/plain encoded, optional, no NULLs
time: [12.843 µs 12.863 µs 12.885 µs]
arrow_array_reader/Int32Array/plain encoded, optional, half NULLs
time: [64.977 µs 65.108 µs 65.267 µs]
arrow_array_reader/struct/Int32Array/plain encoded, mandatory struct, optional data, no NULLs
time: [14.456 µs 14.473 µs 14.491 µs]
arrow_array_reader/struct/Int32Array/plain encoded, optional struct, optional data, no NULLs
time: [173.14 µs 173.68 µs 174.23 µs]
arrow_array_reader/struct/Int32Array/plain encoded, mandatory struct, optional data, half NULLs
time: [65.636 µs 65.780 µs 65.906 µs]
arrow_array_reader/struct/Int32Array/plain encoded, optional struct, optional data, half NULLs
time: [433.95 µs 434.29 µs 434.67 µs]
```
I think these show that a mandatory struct has negligible overhead
compared to a non-nested primitive column. But an optional struct, even
if its definition level is always valid, has a significant overhead.
# Are there any user-facing changes?
no1 parent 191aa7c commit 9c6065c
1 file changed
+110
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
91 | 97 | | |
92 | 98 | | |
93 | 99 | | |
| |||
1174 | 1180 | | |
1175 | 1181 | | |
1176 | 1182 | | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
1177 | 1275 | | |
1178 | 1276 | | |
1179 | 1277 | | |
| |||
1304 | 1402 | | |
1305 | 1403 | | |
1306 | 1404 | | |
| 1405 | + | |
| 1406 | + | |
1307 | 1407 | | |
1308 | 1408 | | |
1309 | 1409 | | |
| |||
1397 | 1497 | | |
1398 | 1498 | | |
1399 | 1499 | | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
1400 | 1510 | | |
1401 | 1511 | | |
1402 | 1512 | | |
| |||
0 commit comments