benchmark_test.go 773 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package fslog
  2. import (
  3. "go.uber.org/zap"
  4. "testing"
  5. )
  6. // 性能对比(在进行仅控制台打印前提下):
  7. // fslog:
  8. // 63.29 ns/op 16 B/op 1 allocs/op
  9. // zap:
  10. // 10.10 ns/op 0 B/op 0 allocs/op
  11. // 在有额外文件输出时,fslog性能为:
  12. // 70.65 ns/op 16 B/op 1 allocs/op
  13. func BenchmarkFSLog(b *testing.B) {
  14. SetLv(ErrorLv)
  15. b.Run("fslog", func(b *testing.B) {
  16. b.ReportAllocs()
  17. for i := 0; i < b.N; i++ {
  18. Debug("fslog")
  19. }
  20. b.StopTimer()
  21. })
  22. production, err := zap.NewProduction()
  23. if err != nil {
  24. b.Fatal(err)
  25. }
  26. zapLogger := production.Sugar()
  27. b.Run("zap", func(b *testing.B) {
  28. b.ReportAllocs()
  29. for i := 0; i < b.N; i++ {
  30. zapLogger.Debug("zap")
  31. }
  32. b.StopTimer()
  33. })
  34. }