首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何处理Java BigDecimal性能?

如何处理Java BigDecimal性能?
EN

Stack Overflow用户
提问于 2009-03-05 01:58:35
回答 21查看 40.5K关注 0票数 61

我编写货币交易应用程序是为了谋生,所以我必须处理货币值(遗憾的是,Java仍然没有decimal float类型,也没有支持任意精度的货币计算)。“使用BigDecimal!”--你可能会说。我知道。但现在我有一些代码,其中性能的一个问题,而BigDecimal超过1000倍(!)比double原语慢。

计算非常简单:系统所做的是多次计算a = (1/b) * c (其中abc是定点数值)。然而,问题出在这个(1/b)上。我不能用定点算术,因为没有不动点。而且BigDecimal result = a.multiply(BigDecimal.ONE.divide(b).multiply(c)不仅丑陋,而且运行缓慢。

我可以用什么来替代BigDecimal?我需要至少10倍的性能提升。我发现其他方面都很好的JScience library,它有任意精度的算术,但它甚至比BigDecimal还慢。

有什么建议吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/611732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档