// Benchmark_MoneyScan 3000000 504 ns/op 136 B/op 2 allocs/op => Go 1.4.2 // Benchmark_MoneyScan 5000000 386 ns/op 144 B/op 2 allocs/op => Go 1.5.0 func Benchmark_MoneyScan(b *testing.B) { var d interface{} d = []byte{0x37, 0x30, 0x35, 0x2e, 0x39, 0x39, 0x33, 0x33} var want float64 = 705.993300 b.ReportAllocs() b.ResetTimer() for i := 0; i < b.N; i++ { var c money.Currency c.Scan(d) benchmarkMoneyScan = c.Getf() if benchmarkMoneyScan != want { b.Errorf("Have: %f\nWant: %f", benchmarkMoneyScan, want) } } }