我一直在为C++中的日志子系统测试三个选项。一个是Log4cplus,一个是Pantheios,最后一个是我们自己编写的简单日志记录库。
Log4cplus比其他两个慢得多。以下是记录1,000,000个日志条目的结果:
我想知道是否缺少任何性能调整。
我应该补充一点,我一直在使用root记录器,我正在记录文件并记录日志:
LOG4CPLUS_INFO(rootLogger, "Replace me with the text!");
谢谢,
礼萨
最佳答案
在log4cplus::NullAppender
中使用performance_test
在半加载的FreeBSD服务器上为我提供了Logging 1000000 took: 4sec 343709usec
。 IOW,纯日志记录开销很小。您的记录时间似乎取决于目标记录器。如果您使用的是log4cplus::FileAppender
,则时间安排会大不相同。
编辑:
您需要稍微调整FileAppender
。确保将ImmediateFlush
属性设置为false。您还可以将BufferSize
设置为更大的值,例如1000000字节。
关于c++ - Log4cplus真的那么慢吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7338439/