Repository navigation
Add decimal benchmarks for DecimalByteParts, casts and exports - #10752
Conversation
Merging this PR will degrade performance by 6.9%3 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
5778fab to
bcb816f
Compare
bcb816f to
ea43ce9
Compare
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
ea43ce9 to
63309e6
Compare
Summary
Adds benchmarks for the decimal paths that #10701 changes, so CodSpeed has a base before those changes land. They cover compute on DecimalByteParts arrays whose most significant part is narrower than the canonical width (decode, compare, filter, sum and min-max), a compressed DecimalByteParts tree in the decompress throughput bench, casts that grow the canonical width, and decimal export to Arrow and DuckDB.
Changes
The DecimalByteParts compute, decompress and cast benches run in CodSpeed. The Arrow and DuckDB export benches run locally only, because those crates have no CodSpeed shard, and the decimal compress bench stays inside the existing
cfg(not(codspeed))module. The compress bench enables the defaultcoreedition, so the decimal scheme uses its v1 variant as in a default write.vortex-duckdbgains a#[doc(hidden)]_benchmarkingmodule that re-exportsArrayExporterandConversionCachefor its bench, and the fields ofConversionCachebecomepub(crate)so that the module exposes only the type. No library behavior changes. Every input is a canonical decimal or a DecimalByteParts array, so the benches stay valid once every decimal array must have the canonical width.🤖 Generated with Claude Code