Commit 85c10b4
committed
feat(parquet): add struct-column writer benchmarks
Add three new benchmark cases to the arrow_writer benchmark suite for
evaluating write performance on struct columns at varying null
densities:
- `struct_non_null`: a nullable struct with 0% null rows and
non-nullable primitive children;
- `struct_sparse_99pct_null`: a nullable struct with 99% null rows,
exercising null batching through one level of struct nesting;
- `struct_all_null`: a nullable struct with 100% null rows, exercising
the uniform-null path through struct nesting.
Baseline results (Apple M1 Max):
struct_non_null/default 29.9 ms
struct_non_null/parquet_2 38.2 ms
struct_non_null/zstd_parquet_2 50.9 ms
struct_sparse_99pct_null/default 7.2 ms
struct_sparse_99pct_null/parquet_2 7.3 ms
struct_sparse_99pct_null/zstd_p2 8.1 ms
struct_all_null/default 83.3 µs
struct_all_null/parquet_2 82.5 µs
struct_all_null/zstd_parquet_2 106.6 µs
Signed-off-by: Hippolyte Barraud <hippolyte.barraud@datadoghq.com>1 parent aac969d commit 85c10b4
1 file changed
+28
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
266 | 266 | | |
267 | 267 | | |
268 | 268 | | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
269 | 288 | | |
270 | 289 | | |
271 | 290 | | |
| |||
400 | 419 | | |
401 | 420 | | |
402 | 421 | | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
403 | 431 | | |
404 | 432 | | |
405 | 433 | | |
| |||
0 commit comments