This is an automated email from the ASF dual-hosted git repository.
swebb2066 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
The following commit(s) were added to refs/heads/master by this push:
new 04518326 Benchmark should include the cost of buffered I/O (#358)
04518326 is described below
commit 04518326f7a0db532e736a7eaa0f6dd905215fd3
Author: Stephen Webb <[email protected]>
AuthorDate: Wed Mar 6 12:01:41 2024 +1100
Benchmark should include the cost of buffered I/O (#358)
* Include date in file output
---
src/test/cpp/benchmark/benchmark.cpp | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/test/cpp/benchmark/benchmark.cpp
b/src/test/cpp/benchmark/benchmark.cpp
index 1adca690..49df7fe1 100644
--- a/src/test/cpp/benchmark/benchmark.cpp
+++ b/src/test/cpp/benchmark/benchmark.cpp
@@ -134,11 +134,11 @@ public: // Class methods
static LoggerPtr getAsyncLogger()
{
LogString name = LOG4CXX_STR("benchmark.fixture.async");
- setDefaultAppender();
auto r = LogManager::getLoggerRepository();
LoggerPtr result = r->exists(name);
if (!result)
{
+ setDefaultAppender();
auto writer = std::make_shared<net::SMTPAppender>();
writer->setLayout(std::make_shared<PatternLayout>(LOG4CXX_STR("%m%n")));
auto asyncAppender = std::make_shared<AsyncAppender>();
@@ -155,7 +155,6 @@ public: // Class methods
static LoggerPtr getFileLogger()
{
LogString name = LOG4CXX_STR("benchmark.fixture.file");
- setDefaultAppender();
auto r = LogManager::getLoggerRepository();
LoggerPtr result;
if (!(result = r->exists(name)))
@@ -163,8 +162,11 @@ public: // Class methods
result = r->getLogger(name);
result->setAdditivity(false);
result->setLevel(Level::getInfo());
- auto writer =
std::make_shared<BenchmarkFileAppender>(std::make_shared<PatternLayout>(LOG4CXX_STR("%m%n")));
+ auto writer =
std::make_shared<BenchmarkFileAppender>(std::make_shared<PatternLayout>(LOG4CXX_STR("%d
%m%n")));
writer->setName(LOG4CXX_STR("FileAppender"));
+ writer->setBufferedIO(true);
+ helpers::Pool p;
+ writer->activateOptions(p);
result->addAppender(writer);
}
return result;
@@ -297,12 +299,12 @@ BENCHMARK_DEFINE_F(benchmarker,
fileIntPlusFloatValueMessageBuffer)(benchmark::S
for (auto _ : state)
{
auto f = static_cast<float>(rand()) /
static_cast<float>(RAND_MAX);
- LOG4CXX_INFO( m_logger, "Hello: message number " << ++x
+ LOG4CXX_INFO( m_fileLogger, "Hello: message number " << ++x
<< " pseudo-random float " << std::setprecision(3) <<
std::fixed << f);
}
}
-BENCHMARK_REGISTER_F(benchmarker,
fileIntPlusFloatValueMessageBuffer)->Name("Logging int+float using
MessageBuffer, pattern: %m%n");
-BENCHMARK_REGISTER_F(benchmarker,
fileIntPlusFloatValueMessageBuffer)->Name("Logging int+float using
MessageBuffer, pattern: %m%n")->Threads(benchmarker::threadCount());
+BENCHMARK_REGISTER_F(benchmarker,
fileIntPlusFloatValueMessageBuffer)->Name("Logging int+float using
MessageBuffer, pattern: %d %m%n");
+BENCHMARK_REGISTER_F(benchmarker,
fileIntPlusFloatValueMessageBuffer)->Name("Logging int+float using
MessageBuffer, pattern: %d %m%n")->Threads(benchmarker::threadCount());
BENCHMARK_MAIN();