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

Reply via email to