Releases: bojanz/currency
Releases · bojanz/currency
v1.0.5
v1.0.4
- Fixed a race in Amount.RoundTo. By @czeslavo
- Allowed more uses of the zero value. By @josharian.
Note that we've stopped recommending char(3) for the currency_code column on PostgreSQL, following upstream recommendations.
v1.0.3
v1.0.2
Bumps cockroachdb/apd to v3.1.0, to benefit from division optimizations.
Before:
BenchmarkAmount_Div-12 1348638 897.7 ns/op 32 B/op 1 allocs/op
BenchmarkAmount_DivDec-12 1038622 1131 ns/op 48 B/op 3 allocs/op
After:
BenchmarkAmount_Div-12 2553472 471.0 ns/op 32 B/op 1 allocs/op
BenchmarkAmount_DivDec-12 1862860 636.5 ns/op 48 B/op 3 allocs/op
v1.0.1
Reduced allocations, improved performance.
Big thanks to @nvanbenschoten for his fixes.
Before (v1.0.0):
BenchmarkNewAmount-12 2291136 501.8 ns/op 80 B/op 4 allocs/op
BenchmarkNewAmountFromBigInt-12 8162307 136.6 ns/op 32 B/op 1 allocs/op
BenchmarkNewAmountFromInt64-12 9674274 118.6 ns/op 32 B/op 1 allocs/op
BenchmarkAmount_Add-12 4852062 233.1 ns/op 64 B/op 2 allocs/op
BenchmarkAmount_Sub-12 4484218 241.5 ns/op 64 B/op 2 allocs/op
BenchmarkAmount_Mul-12 2590292 467.2 ns/op 96 B/op 3 allocs/op
BenchmarkAmount_MulDec-12 1948760 626.3 ns/op 112 B/op 5 allocs/op
BenchmarkAmount_Div-12 1148326 1089 ns/op 96 B/op 3 allocs/op
BenchmarkAmount_DivDec-12 904795 1284 ns/op 112 B/op 5 allocs/op
BenchmarkAmount_Round-12 1982382 579.5 ns/op 64 B/op 2 allocs/op
BenchmarkAmount_Cmp-12 98593598 12.12 ns/op 0 B/op 0 allocs/op
PASS
ok github.com/bojanz/currency 18.277s
After (v1.0.1):
BenchmarkNewAmount-12 2807982 433.2 ns/op 48 B/op 3 allocs/op
BenchmarkNewAmountFromBigInt-12 8502402 134.6 ns/op 32 B/op 1 allocs/op
BenchmarkNewAmountFromInt64-12 31978585 33.04 ns/op 0 B/op 0 allocs/op
BenchmarkAmount_Add-12 23726313 46.81 ns/op 0 B/op 0 allocs/op
BenchmarkAmount_Sub-12 20663590 51.57 ns/op 0 B/op 0 allocs/op
BenchmarkAmount_Mul-12 4536388 291.8 ns/op 32 B/op 1 allocs/op
BenchmarkAmount_MulDec-12 2657835 437.1 ns/op 48 B/op 3 allocs/op
BenchmarkAmount_Div-12 1315654 916.9 ns/op 32 B/op 1 allocs/op
BenchmarkAmount_DivDec-12 1101399 1116 ns/op 48 B/op 3 allocs/op
BenchmarkAmount_Round-12 3132978 374.9 ns/op 0 B/op 0 allocs/op
BenchmarkAmount_Cmp-12 87646204 13.40 ns/op 0 B/op 0 allocs/op
PASS
ok github.com/bojanz/currency 17.332s