go vendor
This commit is contained in:
207
vendor/github.com/revel/log15/bench_test.go
generated
vendored
Normal file
207
vendor/github.com/revel/log15/bench_test.go
generated
vendored
Normal file
@ -0,0 +1,207 @@
|
||||
// +build go1.3
|
||||
|
||||
package log15
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"io/ioutil"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func BenchmarkStreamNoCtx(b *testing.B) {
|
||||
lg := New()
|
||||
|
||||
buf := bytes.Buffer{}
|
||||
lg.SetHandler(StreamHandler(&buf, LogfmtFormat()))
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
lg.Info("test message")
|
||||
buf.Reset()
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkDiscard(b *testing.B) {
|
||||
lg := New()
|
||||
lg.SetHandler(DiscardHandler())
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
lg.Info("test message")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkCallerFileHandler(b *testing.B) {
|
||||
lg := New()
|
||||
lg.SetHandler(CallerFileHandler(DiscardHandler()))
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
lg.Info("test message")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkCallerFuncHandler(b *testing.B) {
|
||||
lg := New()
|
||||
lg.SetHandler(CallerFuncHandler(DiscardHandler()))
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
lg.Info("test message")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkLogfmtNoCtx(b *testing.B) {
|
||||
r := Record{
|
||||
Time: time.Now(),
|
||||
Lvl: LvlInfo,
|
||||
Msg: "test message",
|
||||
Ctx: []interface{}{},
|
||||
}
|
||||
|
||||
logfmt := LogfmtFormat()
|
||||
for i := 0; i < b.N; i++ {
|
||||
logfmt.Format(&r)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkJsonNoCtx(b *testing.B) {
|
||||
r := Record{
|
||||
Time: time.Now(),
|
||||
Lvl: LvlInfo,
|
||||
Msg: "test message",
|
||||
Ctx: []interface{}{},
|
||||
}
|
||||
|
||||
jsonfmt := JsonFormat()
|
||||
for i := 0; i < b.N; i++ {
|
||||
jsonfmt.Format(&r)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkMultiLevelFilter(b *testing.B) {
|
||||
handler := MultiHandler(
|
||||
LvlFilterHandler(LvlDebug, DiscardHandler()),
|
||||
LvlFilterHandler(LvlError, DiscardHandler()),
|
||||
)
|
||||
|
||||
lg := New()
|
||||
lg.SetHandler(handler)
|
||||
for i := 0; i < b.N; i++ {
|
||||
lg.Info("test message")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkDescendant1(b *testing.B) {
|
||||
lg := New()
|
||||
lg.SetHandler(DiscardHandler())
|
||||
lg = lg.New()
|
||||
for i := 0; i < b.N; i++ {
|
||||
lg.Info("test message")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkDescendant2(b *testing.B) {
|
||||
lg := New()
|
||||
lg.SetHandler(DiscardHandler())
|
||||
for i := 0; i < 2; i++ {
|
||||
lg = lg.New()
|
||||
}
|
||||
for i := 0; i < b.N; i++ {
|
||||
lg.Info("test message")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkDescendant4(b *testing.B) {
|
||||
lg := New()
|
||||
lg.SetHandler(DiscardHandler())
|
||||
for i := 0; i < 4; i++ {
|
||||
lg = lg.New()
|
||||
}
|
||||
for i := 0; i < b.N; i++ {
|
||||
lg.Info("test message")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkDescendant8(b *testing.B) {
|
||||
lg := New()
|
||||
lg.SetHandler(DiscardHandler())
|
||||
for i := 0; i < 8; i++ {
|
||||
lg = lg.New()
|
||||
}
|
||||
for i := 0; i < b.N; i++ {
|
||||
lg.Info("test message")
|
||||
}
|
||||
}
|
||||
|
||||
// Copied from https://github.com/uber-go/zap/blob/master/benchmarks/log15_bench_test.go
|
||||
// (MIT License)
|
||||
func newLog15() Logger {
|
||||
logger := New()
|
||||
logger.SetHandler(StreamHandler(ioutil.Discard, JsonFormat()))
|
||||
return logger
|
||||
}
|
||||
|
||||
var errExample = errors.New("fail")
|
||||
|
||||
type user struct {
|
||||
Name string `json:"name"`
|
||||
Email string `json:"email"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
}
|
||||
|
||||
var _jane = user{
|
||||
Name: "Jane Doe",
|
||||
Email: "jane@test.com",
|
||||
CreatedAt: time.Date(1980, 1, 1, 12, 0, 0, 0, time.UTC),
|
||||
}
|
||||
|
||||
func BenchmarkLog15AddingFields(b *testing.B) {
|
||||
logger := newLog15()
|
||||
b.ResetTimer()
|
||||
b.RunParallel(func(pb *testing.PB) {
|
||||
for pb.Next() {
|
||||
logger.Info("Go fast.",
|
||||
"int", 1,
|
||||
"int64", int64(1),
|
||||
"float", 3.0,
|
||||
"string", "four!",
|
||||
"bool", true,
|
||||
"time", time.Unix(0, 0),
|
||||
"error", errExample.Error(),
|
||||
"duration", time.Second,
|
||||
"user-defined type", _jane,
|
||||
"another string", "done!",
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func BenchmarkLog15WithAccumulatedContext(b *testing.B) {
|
||||
logger := newLog15().New(
|
||||
"int", 1,
|
||||
"int64", int64(1),
|
||||
"float", 3.0,
|
||||
"string", "four!",
|
||||
"bool", true,
|
||||
"time", time.Unix(0, 0),
|
||||
"error", errExample.Error(),
|
||||
"duration", time.Second,
|
||||
"user-defined type", _jane,
|
||||
"another string", "done!",
|
||||
)
|
||||
b.ResetTimer()
|
||||
b.RunParallel(func(pb *testing.PB) {
|
||||
for pb.Next() {
|
||||
logger.Info("Go really fast.")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func BenchmarkLog15WithoutFields(b *testing.B) {
|
||||
logger := newLog15()
|
||||
b.ResetTimer()
|
||||
b.RunParallel(func(pb *testing.PB) {
|
||||
for pb.Next() {
|
||||
logger.Info("Go fast.")
|
||||
}
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user