zlog 1.1.1 优化了好几处
- 提高日志等级不输出的时候的判断速度
- 缓存了pid,tid的字符串形式
- 缓存了时间日期的字符串形式,增加了%D默认时间格式
- 加速了微妙、毫秒的输出速度
并且发现了原来1.0版为了追求速度而造成的一个问题——标准IO库带有缓存,而不同的进程写同一个文件时用的是不同的缓存,而这会导致日志交错,所以退回到采用write的系统调用来解决原子性问题。所以从表面上来看写日志的速度下降了(不过依然在我的笔记本上达到25万条日志每秒),而其他优化对CPU的压力反而降低了,现在的CPU主要耗费在等待IO上。要彻底解决这个问题很困难,需要山寨部分的标准IO库的实现……而我需要休息一阵了。
这是最新的 zlog使用手册:https://github.com/downloads/HardySimpson/zlog/UsersGuide-CN.pdf