aboutsummaryrefslogtreecommitdiff
path: root/src/bench/logging.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bench/logging.cpp')
-rw-r--r--src/bench/logging.cpp66
1 files changed, 19 insertions, 47 deletions
diff --git a/src/bench/logging.cpp b/src/bench/logging.cpp
index c97c4e151b..3bf2b7edb2 100644
--- a/src/bench/logging.cpp
+++ b/src/bench/logging.cpp
@@ -5,11 +5,13 @@
#include <bench/bench.h>
#include <logging.h>
#include <test/util/setup_common.h>
-#include <util/chaintype.h>
+
+#include <functional>
+#include <vector>
// All but 2 of the benchmarks should have roughly similar performance:
//
-// LogPrintWithoutCategory should be ~3 orders of magnitude faster, as nothing is logged.
+// LogWithoutDebug should be ~3 orders of magnitude faster, as nothing is logged.
//
// LogWithoutWriteToFile should be ~2 orders of magnitude faster, as it avoids disk writes.
@@ -20,73 +22,43 @@ static void Logging(benchmark::Bench& bench, const std::vector<const char*>& ext
TestingSetup test_setup{
ChainType::REGTEST,
- extra_args,
+ {.extra_args = extra_args},
};
bench.run([&] { log(); });
}
-static void LogPrintLevelWithThreadNames(benchmark::Bench& bench)
-{
- Logging(bench, {"-logthreadnames=1", "-debug=net"}, [] {
- LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", "test"); });
-}
-
-static void LogPrintLevelWithoutThreadNames(benchmark::Bench& bench)
+static void LogWithDebug(benchmark::Bench& bench)
{
- Logging(bench, {"-logthreadnames=0", "-debug=net"}, [] {
- LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", "test"); });
+ Logging(bench, {"-logthreadnames=0", "-debug=net"}, [] { LogDebug(BCLog::NET, "%s\n", "test"); });
}
-static void LogPrintWithCategory(benchmark::Bench& bench)
+static void LogWithoutDebug(benchmark::Bench& bench)
{
- Logging(bench, {"-logthreadnames=0", "-debug=net"}, [] { LogPrint(BCLog::NET, "%s\n", "test"); });
-}
-
-static void LogPrintWithoutCategory(benchmark::Bench& bench)
-{
- Logging(bench, {"-logthreadnames=0", "-debug=0"}, [] { LogPrint(BCLog::NET, "%s\n", "test"); });
-}
-
-static void LogPrintfCategoryWithThreadNames(benchmark::Bench& bench)
-{
- Logging(bench, {"-logthreadnames=1", "-debug=net"}, [] {
- LogPrintfCategory(BCLog::NET, "%s\n", "test");
- });
-}
-
-static void LogPrintfCategoryWithoutThreadNames(benchmark::Bench& bench)
-{
- Logging(bench, {"-logthreadnames=0", "-debug=net"}, [] {
- LogPrintfCategory(BCLog::NET, "%s\n", "test");
- });
+ Logging(bench, {"-logthreadnames=0", "-debug=0"}, [] { LogDebug(BCLog::NET, "%s\n", "test"); });
}
-static void LogPrintfWithThreadNames(benchmark::Bench& bench)
+static void LogWithThreadNames(benchmark::Bench& bench)
{
- Logging(bench, {"-logthreadnames=1"}, [] { LogPrintf("%s\n", "test"); });
+ Logging(bench, {"-logthreadnames=1"}, [] { LogInfo("%s\n", "test"); });
}
-static void LogPrintfWithoutThreadNames(benchmark::Bench& bench)
+static void LogWithoutThreadNames(benchmark::Bench& bench)
{
- Logging(bench, {"-logthreadnames=0"}, [] { LogPrintf("%s\n", "test"); });
+ Logging(bench, {"-logthreadnames=0"}, [] { LogInfo("%s\n", "test"); });
}
static void LogWithoutWriteToFile(benchmark::Bench& bench)
{
// Disable writing the log to a file, as used for unit tests and fuzzing in `MakeNoLogFileContext`.
Logging(bench, {"-nodebuglogfile", "-debug=1"}, [] {
- LogPrintf("%s\n", "test");
- LogPrint(BCLog::NET, "%s\n", "test");
+ LogInfo("%s\n", "test");
+ LogDebug(BCLog::NET, "%s\n", "test");
});
}
-BENCHMARK(LogPrintLevelWithThreadNames, benchmark::PriorityLevel::HIGH);
-BENCHMARK(LogPrintLevelWithoutThreadNames, benchmark::PriorityLevel::HIGH);
-BENCHMARK(LogPrintWithCategory, benchmark::PriorityLevel::HIGH);
-BENCHMARK(LogPrintWithoutCategory, benchmark::PriorityLevel::HIGH);
-BENCHMARK(LogPrintfCategoryWithThreadNames, benchmark::PriorityLevel::HIGH);
-BENCHMARK(LogPrintfCategoryWithoutThreadNames, benchmark::PriorityLevel::HIGH);
-BENCHMARK(LogPrintfWithThreadNames, benchmark::PriorityLevel::HIGH);
-BENCHMARK(LogPrintfWithoutThreadNames, benchmark::PriorityLevel::HIGH);
+BENCHMARK(LogWithDebug, benchmark::PriorityLevel::HIGH);
+BENCHMARK(LogWithoutDebug, benchmark::PriorityLevel::HIGH);
+BENCHMARK(LogWithThreadNames, benchmark::PriorityLevel::HIGH);
+BENCHMARK(LogWithoutThreadNames, benchmark::PriorityLevel::HIGH);
BENCHMARK(LogWithoutWriteToFile, benchmark::PriorityLevel::HIGH);