小编Ale*_*rev的帖子

如何处理Java BigDecimal性能?

我为生活编写货币交易应用程序,所以我必须处理货币价值(遗憾的是,Java仍然没有十进制浮动类型,并且没有任何东西可以支持任意精确的货币计算)."使用BigDecimal!" - 你可能会说.我做.但现在我有一些代码在性能一个问题,BigDecimal为超过1000次(!)慢于double原语.

计算很简单:系统做什么是计算a = (1/b) * c很多很多次(其中a,bc有固定的点值).然而,问题在于此(1/b).我不能使用定点算术,因为没有固定点.而且BigDecimal result = a.multiply(BigDecimal.ONE.divide(b).multiply(c)不仅丑陋,而且缓慢.

我可以用什么来代替BigDecimal?我需要至少10倍的性能提升.我发现了其他优秀的JScience库,它具有任意精度的算术,但它甚至比BigDecimal慢.

有什么建议?

java math optimization currency bigdecimal

59
推荐指数
6
解决办法
3万
查看次数

标签 统计

bigdecimal ×1

currency ×1

java ×1

math ×1

optimization ×1