相关疑难解决方法(0)

如何处理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万
查看次数

在maven的测试范围内从eclipse运行caliper

我在Eclipse中有一个Java项目,在我的src/test目录中有JUnit测试.我还使用Caliper微基准测试为我的测试添加了一个类,我希望能够在Eclipse中运行这些测试.

由于Caliper代码是测试代码,我在test范围内添加了Caliper作为Maven中的依赖项.这使得它在运行JUnit测试时显示在类路径中,但我看不到在类路径中运行具有测试依赖性的任意类的方法.我尝试做的是为Java应用程序添加一个新的运行配置,认为我可以CaliperMain使用正确的类作为参数启动,但Caliper jar不在类路径上,我看不到如何添加它.

我不想将我的基准代码和依赖项移动到main作用域中,因为它是测试代码!将它移到一个完全独立的项目中似乎非常严重.

java eclipse maven caliper

6
推荐指数
1
解决办法
1251
查看次数

标签 统计

java ×2

bigdecimal ×1

caliper ×1

currency ×1

eclipse ×1

math ×1

maven ×1

optimization ×1