
golang 的高性能日志库
gogel download,go的高性能日志工具,支持日志格式化,日志按时间备份,或按大小备份,支持保留日志份数,日志文件压缩等特性。
github.com/donnie4w/go-logger
- go-logger具备极高的性能和极低的内存消耗
- 性能测试中,在常规操作下,使用格式化输出,相同长度的打印数据。 与 uber的zap日志库,和 go自带的log日志库 相比较,go-logger 在性能上和内存消耗上都占据一定优势
- 同时也支持将需要分配内存的的功能完全去掉(使用:FORMAT_NANO),效率与内存消耗等同于直接写文件;也提供直接写文件的方法(write). 需要极限效率时,可以使用这两种方式写日志。这两种方式同样支持日志按时间,文件大小备份,支持保留日志份数,日志文件压缩
具体情况参考测试数据,与测试程序
性能测试:
测试说明:以下simplelog即go-logger
测试日志库 |
描述 |
zap |
"go.uber.org/zap" 高性能日志库常规格式化输出 |
simplelog |
simplelog 常规格式化输出 |
simplelog NoFORMAT |
simplelog 无格式化输出 |
simplelog write |
simplelog write方法写数据 |
go/ log |
go自带log库格式化输出 |
测试数据1
|
|
ns/op |
B/op |
allocs/op |
zap |
1822892 |
6876 |
336 |
6 |
zap |
1730490 |
7037 |
336 |
6 |
simplelog |
1732777 |
6461 |
296 |
3 |
simplelog |
1758446 |
6419 |
296 |
3 |
simplelog NoFORMAT |
2670556 |
4340 |
112 |
1 |
simplelog NoFORMAT |
2694154 |
4192 |
112 |
1 |
simplelog write |
2949058 |
4087 |
112 |
1 |
simplelog write |
2843649 |
4093 |
112 |
1 |
go/ log |
2162052 |
5551 |
296 |
3 |
go/ log |
2139168 |
5715 |
296 |
3 |
Parallel 测试2
|
|
ns/op |
B/op |
allocs/op |
zap |
1000000 |
10572 |
336 |
6 |
zap |
1000000 |
10414 |
337 |
6 |
simplelog |
1330300 |
8803 |
296 |
3 |
simplelog |
1363034 |
8945 |
296 |
3 |
simplelog NoFORMAT |
2053911 |
7076 |
112 |
1 |
simplelog NoFORMAT |
1677360 |
6888 |
112 |
1 |
simplelog write |
1939933 |
6304 |
112 |
1 |
simplelog write |
1922352 |
6938 |
112 |
1 |
go/ log |
1204039 |
9612 |
296 |
3 |
go/ log |
1362807 |
8875 |
296 |
3 |
Parallel 测试3
|
|
ns/op |
B/op |
allocs/op |
zap |
1000000 |
10331 |
336 |
6 |
zap |
1000000 |
10595 |
337 |
6 |
simplelog |
1352834 |
8838 |
296 |
3 |
simplelog |
1411458 |
8754 |
296 |
3 |
simplelog NoFORMAT |
2266597 |
5331 |
112 |
1 |
simplelog NoFORMAT |
2090455 |
5631 |
112 |
1 |
simplelog write |
2062870 |
5746 |
112 |
1 |
simplelog write |
2037792 |
5963 |
112 |
1 |
go/ log |
1260445 |
9398 |
280 |
3 |
go/ log |
1272560 |
9123 |
280 |
3 |
Parallel 测试4
|
|
ns/op |
B/op |
allocs/op |
zap |
1000000 |
10230 |
336 |
6 |
zap |
1000000 |
10276 |
337 |
6 |
simplelog |
1332555 |
8774 |
296 |
3 |
simplelog |
1391256 |
9226 |
296 |
3 |
simplelog NoFORMAT |
2154008 |
5483 |
112 |
1 |
simplelog NoFORMAT |
2115795 |
5853 |
112 |
1 |
simplelog write |
2059722 |
6069 |
112 |
1 |
simplelog write |
1968092 |
6116 |
112 |
1 |
go/ log |
1249767 |
9930 |
280 |
3 |
go/ log |
1211719 |
9822 |
280 |
3 |
打印各库输出结果(其中一行)
2023-07-10T19:58:15.138+0800 DEBUG logtest/benchmark_test.go:82 >>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[DEBUG]2023/07/10 19:58:57 benchmark_test.go:94: >>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[DEBUG]2023/06/10 01:25:55.028277 log_test.go:46:>>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[DEBUG]2023/06/10 01:25:55.028277 log_test.go:55:>>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
[debug]2023/07/10 20:00:53.634554 benchmark_test.go:125: >>>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
测试程序
github logtest
deepin V23 成功适配 WSL
2023 年需求最大的 8 种编程语言:PHP 强劲,C/C++ 需求放缓
React 正在经历 Angular.js 的时刻吗?
CentOS 项目宣称“向所有人开放”
程序员笔记 CherryTree 1.0.0.0 发布
MySQL 8.1 及 MySQL 8.0.34 正式发布
微软:加大力度在 Windows 11 使用 Rust
微软推出新的默认字体 Aptos,替代 Calibri
Meta 放大招:发布开源大语言模型 Llama 2,可免费商用
GPT-4 越来越笨?准确率从 97.6% 降至 2.4% 声明:本文由用户投稿上传,本站不保证内容的真实与正确性,并且不承担相关法律责任,如有侵权请提供版权资料并联系删除!
编程笔记
»
gogel download,go-logger 2.0.2 发布