Skip to content

Commit

Permalink
Added INTEGER/BIGINT cast to DECIMAL benchmark test
Browse files Browse the repository at this point in the history
  • Loading branch information
karteekmurthys committed May 31, 2024
1 parent 0b4f3e2 commit 22c1503
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions velox/benchmarks/basic/CastBenchmark.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,14 @@ int main(int argc, char** argv) {
auto emptyInput = vectorMaker.flatVector<facebook::velox::StringView>({""});
auto validInput = vectorMaker.flatVector<facebook::velox::StringView>({""});
auto nanInput = vectorMaker.flatVector<facebook::velox::StringView>({""});
auto integerInput = vectorMaker.flatVector<int32_t>(
vectorSize, [&](auto j) { return 12345 * j; }, nullptr);
auto bigintInput = vectorMaker.flatVector<int64_t>(
vectorSize,
[&](auto j) {
return facebook::velox::HugeInt::build(12345 * j, 56789 * j + 12345);
},
nullptr);
auto decimalInput = vectorMaker.flatVector<int64_t>(
vectorSize, [&](auto j) { return 12345 * j; }, nullptr, DECIMAL(9, 2));
auto shortDecimalInput = vectorMaker.flatVector<int64_t>(
Expand Down Expand Up @@ -119,6 +127,8 @@ int main(int argc, char** argv) {
{"valid",
"empty",
"nan",
"integer",
"bigint",
"decimal",
"short_decimal",
"long_decimal",
Expand All @@ -129,6 +139,8 @@ int main(int argc, char** argv) {
{validInput,
emptyInput,
nanInput,
integerInput,
bigintInput,
decimalInput,
shortDecimalInput,
longDecimalInput,
Expand Down Expand Up @@ -161,6 +173,14 @@ int main(int argc, char** argv) {
"cast(large_double as varchar)")
.addExpression("cast_real_as_int", "cast (small_real as integer)")
.addExpression("cast_decimal_as_bigint", "cast (short_decimal as bigint)")
.addExpression(
"cast_int_as_short_decimal", "cast (integer as decimal(18,6))")
.addExpression(
"cast_int_as_long_decimal", "cast (integer as decimal(38,16))")
.addExpression(
"cast_bigint_as_short_decimal", "cast (bigint as decimal(18,6))")
.addExpression(
"cast_bigint_as_long_decimal", "cast (bigint as decimal(38,16))")
.withIterations(100)
.disableTesting();

Expand Down

0 comments on commit 22c1503

Please sign in to comment.