himadripal commented on PR #7179: URL: https://github.com/apache/arrow-rs/pull/7179#issuecomment-2812785023
An update on this issue, its taking longer than I expected, after I replace `base.pow_wrapping(....)` calls with POW10[...], many of the conversion used in benchmark improved by 45% but some regressed by 5 to 10%. POW10 is array of precomputed power of 10. I used it to store 39 power of 10 elements for Decimal128 which has max precision 38, It will occupy 2.4KB of memory but reduce the CPY cycle required calculating power of 10. Although I have not figured out how to precompute power of 10 for Decimal256 which needs 77 elements, so this may be reversed. Another place I found to be costly is calculating the rounding_digit, I could not figure out a way to avoid that yet, still investigating. if anyone has any thoughts of this, please share. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org