Talking about loggers and ZAP (interesting idea to accommodate API to the JSON) The following code gets 40ns/op type FieldType uint8
type Field struct { Key string Type FieldType Integer int64 String string Interface interface{} } const ( // UnknownType is the default field type. Attempting to add it to an encoder will panic. UnknownType FieldType = iota // Int64Type indicates that the field carries an int64. Uint64Type ) func Uint64(key string, val uint64) Field { return Field{Key: key, Type: Uint64Type, Integer: int64(val)} } func handleFields(s string, fields ...Field) { } func BenchmarkZapApi(b *testing.B) { b.ResetTimer() for i := 0; i < b.N; i++ { handleFields("Hello ", Uint64("world", 0), Uint64("world", 1), Uint64("world", 2), ) } b.StopTimer() } -- 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.