9 // smallFields is a small size data set for benchmarking
10 var smallFields = Fields{
17 // largeFields is a large size data set for benchmarking
18 var largeFields = Fields{
27 "thirteen": "fourteen",
29 "seventeen": "eighteen",
49 var errorFields = Fields{
50 "foo": fmt.Errorf("bar"),
51 "baz": fmt.Errorf("qux"),
54 func BenchmarkErrorTextFormatter(b *testing.B) {
55 doBenchmark(b, &TextFormatter{DisableColors: true}, errorFields)
58 func BenchmarkSmallTextFormatter(b *testing.B) {
59 doBenchmark(b, &TextFormatter{DisableColors: true}, smallFields)
62 func BenchmarkLargeTextFormatter(b *testing.B) {
63 doBenchmark(b, &TextFormatter{DisableColors: true}, largeFields)
66 func BenchmarkSmallColoredTextFormatter(b *testing.B) {
67 doBenchmark(b, &TextFormatter{ForceColors: true}, smallFields)
70 func BenchmarkLargeColoredTextFormatter(b *testing.B) {
71 doBenchmark(b, &TextFormatter{ForceColors: true}, largeFields)
74 func BenchmarkSmallJSONFormatter(b *testing.B) {
75 doBenchmark(b, &JSONFormatter{}, smallFields)
78 func BenchmarkLargeJSONFormatter(b *testing.B) {
79 doBenchmark(b, &JSONFormatter{}, largeFields)
82 func doBenchmark(b *testing.B, formatter Formatter, fields Fields) {
94 for i := 0; i < b.N; i++ {
95 d, err = formatter.Format(entry)
99 b.SetBytes(int64(len(d)))