8

我一直在为我的 C++ 日志子系统测试三个选项。一个是 Log4cplus,一个是 Pantheios,最后一个是我们自己编写的简单日志库。

Log4cplus 比其他两个慢得多。以下是记录 1,000,000 条日志条目的结果:

  • log4cplus:200秒编辑:设置缓冲区大小将其减少到120
  • 我的记录器:55 秒
  • 万神殿:35

我想知道我是否缺少任何性能调整。

我应该补充一点,我一直在使用根记录器,我正在记录到文件并记录: LOG4CPLUS_INFO(rootLogger, "Replace me with the text!");

谢谢,礼萨

4

1 回答 1

12

log4cplus::NullAppender在半加载的 FreeBSD 服务器上使用performance_test给了我。Logging 1000000 took: 4sec 343709usecIOW,纯日志记录开销相当小。您的记录时间似乎取决于目标记录器。如果您正在使用log4cplus::FileAppender,则时间将明显不同。

编辑:

你需要稍微调整FileAppender一下。确保将ImmediateFlush属性设置为 false。您还可以设置BufferSize更大的值,例如 1000000 字节。

于 2011-09-07T18:20:51.370 回答