130 lines
2.2 KiB
Go
130 lines
2.2 KiB
Go
package log15
|
|
|
|
import (
|
|
"bytes"
|
|
"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")
|
|
}
|
|
}
|