Use fmt and std::from_chars to make convert integer to string and convert string to integer more efficient (#6361)
* [Optimize] optimize the speed of converting integer to string * Use fmt and std::from_chars to make convert integer to string and convert string to integer more efficient Co-authored-by: caiconghui <caiconghui@xiaomi.com>
This commit is contained in:
@ -217,7 +217,7 @@ public:
|
||||
//char* tmp_val = reinterpret_cast<char*>(0x01);
|
||||
ARROW_RETURN_NOT_OK(builder.Append(""));
|
||||
} else {
|
||||
ARROW_RETURN_NOT_OK(builder.Append(string_val->to_string()));
|
||||
ARROW_RETURN_NOT_OK(builder.Append(string_val->ptr, string_val->len));
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -230,12 +230,9 @@ public:
|
||||
break;
|
||||
}
|
||||
case TYPE_LARGEINT: {
|
||||
char buf[48];
|
||||
int len = 48;
|
||||
char* v = LargeIntValue::to_string(
|
||||
reinterpret_cast<const PackedInt128*>(cell_ptr)->value, buf, &len);
|
||||
std::string temp(v, len);
|
||||
ARROW_RETURN_NOT_OK(builder.Append(std::move(temp)));
|
||||
auto string_temp = LargeIntValue::to_string(
|
||||
reinterpret_cast<const PackedInt128*>(cell_ptr)->value);
|
||||
ARROW_RETURN_NOT_OK(builder.Append(string_temp.data(), string_temp.size()));
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
|
||||
Reference in New Issue
Block a user