For those interesting in financial apps, I have released ‘fixed' at 
https://github.com/robaho/fixed <https://github.com/robaho/fixed> a high 
performance fixed-point math library primarily designed for to work with 
currencies.

The benchmarks: (Decimal is the shopspring library, big Int/Float are the 
stdlib)

BenchmarkAddFixed-8             2000000000               0.83 ns/op            
0 B/op          0 allocs/op
BenchmarkAddDecimal-8            3000000               457 ns/op             
400 B/op         10 allocs/op
BenchmarkAddBigInt-8            100000000               19.2 ns/op             
0 B/op          0 allocs/op
BenchmarkAddBigFloat-8          20000000               110 ns/op              
48 B/op          1 allocs/op
BenchmarkMulFixed-8             100000000               12.4 ns/op             
0 B/op          0 allocs/op
BenchmarkMulDecimal-8           20000000                94.2 ns/op            
80 B/op          2 allocs/op
BenchmarkMulBigInt-8            100000000               22.0 ns/op             
0 B/op          0 allocs/op
BenchmarkMulBigFloat-8          30000000                50.0 ns/op             
0 B/op          0 allocs/op
BenchmarkDivFixed-8             100000000               19.3 ns/op             
0 B/op          0 allocs/op
BenchmarkDivDecimal-8            1000000              1152 ns/op             
928 B/op         22 allocs/op
BenchmarkDivBigInt-8            20000000                68.4 ns/op            
48 B/op          1 allocs/op
BenchmarkDivBigFloat-8          10000000               151 ns/op              
64 B/op          2 allocs/op
BenchmarkCmpFixed-8             2000000000               0.28 ns/op            
0 B/op          0 allocs/op
BenchmarkCmpDecimal-8           100000000               10.8 ns/op             
0 B/op          0 allocs/op
BenchmarkCmpBigInt-8            200000000                8.37 ns/op            
0 B/op          0 allocs/op
BenchmarkCmpBigFloat-8          200000000                7.74 ns/op            
0 B/op          0 allocs/op
BenchmarkStringFixed-8          20000000                99.0 ns/op            
16 B/op          1 allocs/op
BenchmarkStringDecimal-8         5000000               326 ns/op             
144 B/op          5 allocs/op
BenchmarkStringBigInt-8         10000000               209 ns/op              
80 B/op          3 allocs/op
BenchmarkStringBigFloat-8        3000000               571 ns/op             
272 B/op          8 allocs/op

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to