benchmark_test.go 735 B

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