非凸高性能日志库ftlog开源,已升级到0.2.0版本,欢迎大家交流和建议!
普通的日志库受到磁盘IO和系统pipe影响,单线程顺序写入单条速度大概要2500ns(SSD),如果碰到IO抖动或者慢磁盘,日志会是低延时交易的主要瓶颈。本库先把日志send到channel,再启动后台单独线程recv并且磁盘写入,测试速度在300ns左右。ftlog支持“受限写入”以及“时间分割”等功能。
0.2.0版本,在初版本的基础上完善了功能,优化了性能,在技术细节处理上更是做到了极致。新版本的ftlog可以与官方log兼容,不会出现其他库日志不能打印的情况;考虑到陈旧的日志会占用硬盘资源,于是ftlog新增了日志自动清理功能,用来应对千变万化的实际运行环境;另外,通过代码模块路径,允许将不同路径下的日志打印到不同文件中,功能使用上更加地友好。
除此之外,性能上也做了高度优化,在调用日志宏(info,warn等)时尽量减少计算,将日志内容格式化成字符串这一步移到log线程来执行。
开源地址:
https://github.com/nonconvextech/ftlog
https://crates.io/crates/ftlog
更多开源项目,持续开发中,敬请期待~
Ext Link: https://ft.tech
1
共 1 条评论, 1 页
评论区
写评论新版本,欢迎大家提意见~