Benchmark E1000 Benchmarks in nanoseconds (10-9 s) per operation using Sun Microsystems Inc.'s virtual machine version 1.1.8 on a Win98 AMD K6-2 350MHz, 16MB heap memory
new BigDecimal(String)
Avg. Precision 9 18 44 76 141 269 525
Iteration count 333320 250000 166660 125000 90900 62500 45440
java.math.BigDecimal (symcjit) 3434567 3919280 3848673 3876400 5541474 7236160 9661531
be.arci.math.BigDecimal (symcjit) 25891 32280 43501 52240 67656 96640 159551
com.ibm.math.BigDecimal (symcjit) 26701 33200 44461 54960 67106 99360 163072
com.tce.math.TBigDecimal (symcjit) 326040 330880 337153 349360 368646 411360 496698
toString
Avg. Precision 9 18 44 76 141 269 525
Iteration count 32000 32000 32000 32000 32000 32000 32000
java.math.BigDecimal (symcjit) 7960625 7559062 8330000 8740000 10698437 13175312 16628750
be.arci.math.BigDecimal (symcjit) 8437 10312 13750 18750 25937 44687 75312
com.ibm.math.BigDecimal (symcjit) 27500 30937 35937 44687 51562 75312 121875
com.tce.math.TBigDecimal (symcjit) 955937 966250 1004062 1036562 1095312 1218437 1465937
add
Avg. Precision 9 18 44 76 141 269 525
Iteration count 40000 40000 40000 40000 40000 40000 40000
java.math.BigDecimal (symcjit) 87750 107000 94750 87750 148250 102750 122250
be.arci.math.BigDecimal (symcjit) 5500 6750 7000 8250 11000 16500 27500
com.ibm.math.BigDecimal (symcjit) 7000 8250 12500 19250 30250 52250 98750
com.tce.math.TBigDecimal (symcjit) 72750 72750 78250 79750 85000 97500 129000
subtract
Avg. Precision 9 18 44 76 141 269 525
Iteration count 40000 40000 40000 40000 40000 40000 40000
java.math.BigDecimal (symcjit) 101500 122250 116750 112500 168750 126250 145500
be.arci.math.BigDecimal (symcjit) 8250 8250 9500 11000 31500 22000 35750
com.ibm.math.BigDecimal (symcjit) 9750 9500 15000 22000 33000 60500 103000
com.tce.math.TBigDecimal (symcjit) 68750 68750 68500 71500 75500 85000 104500
multiply
Avg. Precision 9 18 44 76 141 269 525
Iteration count 32000 32000 32000 32000 32000 16000 6400
java.math.BigDecimal (symcjit) 1927500 1985625 2063125 2179687 2494062 2996875 4292187
be.arci.math.BigDecimal (symcjit) 6875 10312 18750 39375 103125 333125 1193750
com.ibm.math.BigDecimal (symcjit) 60000 118437 485625 1350625 4361250 16182500 62375000
com.tce.math.TBigDecimal (symcjit) 662500 1237500 2936875 5252500 10279375 23291875 56728125
divide
Avg. Precision 9 18 44 76 141 269 525
Iteration count 10000 10000 10000 10000 10000 4800 2000
java.math.BigDecimal (symcjit) 203000 198000 171000 154000 165000 170833 195000
be.arci.math.BigDecimal (symcjit) 16000 17000 22000 28000 33000 45833 55000
com.ibm.math.BigDecimal (symcjit) 27000 22000 77000 121000 214000 366666 550000
com.tce.math.TBigDecimal (symcjit) 12002000 15939000 9101000 9600000 10727000 12941666 17880000
pow
Avg. Precision 9 18 44 76 141 269 525
Iteration count 4000 4000 4000 2000 560 70 10
java.math.BigInteger (symcjit) 49335000 50407500 52895000 56105000 62857142 76857142 110000000
be.arci.math.BigDecimal (symcjit) 55000 95000 345000 910000 2839285 9428571 33000000
com.ibm.math.BigDecimal (symcjit) 42197500 91902500 240065000 439980000 871839285 1887857142 4718000000
com.tce.math.TBigDecimal (symcjit) 19965000 42635000 107612500 194000000 389678571 838000000 2092000000
compareTo
Avg. Precision 9 18 44 76 141 269 525
Iteration count 400000 400000 400000 400000 400000 400000 400000
java.math.BigDecimal (symcjit) 3425 3300 3575 3575 3725 3850 4100
be.arci.math.BigDecimal (symcjit) 275 275 125 150 275 275 275
com.ibm.math.BigDecimal (symcjit) 275 275 275 275 550 950 1650
com.tce.math.TBigDecimal (symcjit) 1650 1625 1650 1650 1800 1925 2350
equals
Avg. Precision 9 18 44 76 141 269 525
Iteration count 800000 800000 800000 800000 800000 800000 800000
java.math.BigDecimal (symcjit) 337 345 316 333 320 320 331
be.arci.math.BigDecimal (symcjit) 275 275 212 275 212 200 275
com.ibm.math.BigDecimal (symcjit) 19025 275 58625 70925 82937 117200 188600
com.tce.math.TBigDecimal (symcjit) 8987 18650 247 251 252 268 252
abs
Avg. Precision 9 18 44 76 141 269 525
Iteration count 800000 2400000 6400000 12000000 22400000 42400000 84000000
java.math.BigDecimal (symcjit) 487 504 60 73 61 62 62
be.arci.math.BigDecimal (symcjit) 2687 2608 2446 2430 2425 2436 2453
com.ibm.math.BigDecimal (symcjit) 2475 2495 2351 2343 2361 2396 2380
com.tce.math.TBigDecimal (symcjit) 412 433 9 13 11 20 12
max
Avg. Precision 9 18 44 76 141 269 525
Iteration count 400000 400000 400000 400000 400000 400000 400000
java.math.BigDecimal (symcjit) 3175 3175 3425 3575 3550 3725 4125
be.arci.math.BigDecimal (symcjit) 2900 2875 2750 2625 2600 2750 2750
com.ibm.math.BigDecimal (symcjit) 2750 2750 2600 2600 2900 3175 4000
com.tce.math.TBigDecimal (symcjit) 1650 1650 1650 1775 1775 2050 2350
setScale
Avg. Precision 9 18 44 76 141 269 525
Iteration count 40000 40000 40000 40000 40000 40000 40000
java.math.BigDecimal (symcjit) 116500 100250 99000 119500 299500 116750 125000
be.arci.math.BigDecimal (symcjit) 12250 12250 12500 13750 16500 17750 23250
com.ibm.math.BigDecimal (symcjit) 20500 20500 22000 22000 23250 26000 31500
com.tce.math.TBigDecimal (symcjit) 39750 41250 41250 44000 44000 48000 56250