hlog/log_test.go

126 lines
2.3 KiB
Go
Raw Permalink Normal View History

2024-11-25 13:12:20 +00:00
package hlog_test
import (
"io/ioutil"
"testing"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"gitea.pena/PenaSide/hlog"
"gitea.pena/PenaSide/hlog/demo/events"
2024-11-25 13:12:20 +00:00
)
//> Run with `go test -v -benchmem -bench=. .`
func newBlackholeLogger() *zap.Logger {
return zap.New(
zapcore.NewCore(
zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig()),
zapcore.AddSync(ioutil.Discard),
zapcore.DebugLevel,
),
).WithOptions(
zap.AddCallerSkip(2),
)
}
func BenchmarkEmitStruct2(b *testing.B) {
logger := hlog.New(newBlackholeLogger())
b.ResetTimer()
for n := 0; n < b.N; n++ {
logger.Emit(events.Warn_SampleEvent2{
Field1: 10000000,
Field2: "value",
})
}
}
func BenchmarkEmitStruct8(b *testing.B) {
logger := hlog.New(newBlackholeLogger())
b.ResetTimer()
for n := 0; n < b.N; n++ {
logger.Emit(events.Warn_SampleEvent8{
Field1: 10000000,
Field2: "value",
Field3: 10000000,
Field4: "value",
Field5: 10000000,
Field6: "value",
Field7: 10000000,
Field8: "value",
})
}
}
func BenchmarkEmitMap2(b *testing.B) {
logger := hlog.New(newBlackholeLogger())
b.ResetTimer()
for n := 0; n < b.N; n++ {
logger.Emit(events.Debug_UnimportantEvent{
"Field1": 10000000,
"Field2": "value",
})
}
}
func BenchmarkEmitMap8(b *testing.B) {
logger := hlog.New(newBlackholeLogger())
b.ResetTimer()
for n := 0; n < b.N; n++ {
logger.Emit(events.Debug_UnimportantEvent{
"Field1": 10000000,
"Field2": "value",
"Field3": 10000000,
"Field4": "value",
"Field5": 10000000,
"Field6": "value",
"Field7": 10000000,
"Field8": "value",
})
}
}
func BenchmarkPure2(b *testing.B) {
logger := newBlackholeLogger()
b.ResetTimer()
for n := 0; n < b.N; n++ {
logger.Warn(
"github.com/themakers/hlog/demo/events!Warn_SampleEvent2",
zap.Int("Field1", 10000000),
zap.String("Field2", "value"),
)
}
}
func BenchmarkPure8(b *testing.B) {
logger := newBlackholeLogger()
b.ResetTimer()
for n := 0; n < b.N; n++ {
logger.Warn(
"github.com/themakers/hlog/demo/events!Warn_SampleEvent2",
zap.Int("Field1", 10000000),
zap.String("Field2", "value"),
zap.Int("Field3", 10000000),
zap.String("Field4", "value"),
zap.Int("Field5", 10000000),
zap.String("Field6", "value"),
zap.Int("Field7", 10000000),
zap.String("Field8", "value"),
)
}
}