Closed yangqun closed 6 months ago
sleep 10秒太长了,试试sleep 1秒?
sleep 10秒太长了,试试sleep 1秒?
十秒为啥太长了呀?我就是不想浪费主线程资源,其他线程打log其实也很少,基本就是十秒统计个数字打印出来就行了。
原因有点复杂,底层的时间同步程序需要不低于3秒一次的轮询频率,所以1秒poll一次比较合适。同时fmtlog::poll()的开销很低,基本可以忽略,所以poll频率高点对系统应该没有影响
原因有点复杂,底层的时间同步程序需要不低于3秒一次的轮询频率,所以1秒poll一次比较合适。同时fmtlog::poll()的开销很低,基本可以忽略,所以poll频率高点对系统应该没有影响
谢谢大神回复。能大概指导一下应该去看源码哪一部分吗,前天晚上看了几个小时没找到原因,是时戳tsc那部分因为时间太长会变成0吗,也想追求进步呀。
可以参考下tscns的文档:https://github.com/MengRao/tscns
while(1){ FMTLOG(fmtlog::INF, "The answer is {}.", 42); fmtlog::setHeaderPattern("[{HMSF}][{s}][{l}][{t}]:"); fmtlog::setLogFile(logName); fmtlog::setLogLevel(levelEnum); fmtlog::poll(); sleep(10) }