|
|
|
@ -51,11 +51,21 @@ void bench_disabled_macro(benchmark::State &state, std::shared_ptr<spdlog::logge
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
|
#ifdef __linux__
|
|
|
|
|
void bench_dev_null()
|
|
|
|
|
{
|
|
|
|
|
auto dev_null_st = spdlog::basic_logger_st("/dev/null_st", "/dev/null");
|
|
|
|
|
benchmark::RegisterBenchmark("/dev/null_st", bench_logger, std::move(dev_null_st))->UseRealTime();
|
|
|
|
|
spdlog::drop("/dev/null_st");
|
|
|
|
|
|
|
|
|
|
auto dev_null_mt = spdlog::basic_logger_mt("/dev/null_mt", "/dev/null");
|
|
|
|
|
benchmark::RegisterBenchmark("/dev/null_mt", bench_logger, std::move(dev_null_mt))->UseRealTime();
|
|
|
|
|
spdlog::drop("/dev/null_mt");
|
|
|
|
|
}
|
|
|
|
|
#endif // __linux__
|
|
|
|
|
|
|
|
|
|
using spdlog::sinks::basic_file_sink_mt;
|
|
|
|
|
using spdlog::sinks::basic_file_sink_st;
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
|
{
|
|
|
|
|
using spdlog::sinks::null_sink_mt;
|
|
|
|
|
using spdlog::sinks::null_sink_st;
|
|
|
|
|
|
|
|
|
@ -63,6 +73,8 @@ int main(int argc, char *argv[])
|
|
|
|
|
size_t rotating_files = 5;
|
|
|
|
|
int n_threads = benchmark::CPUInfo::Get().num_cpus;
|
|
|
|
|
|
|
|
|
|
auto full_bench = argc > 1 && std::string(argv[1]) == "full";
|
|
|
|
|
|
|
|
|
|
// disabled loggers
|
|
|
|
|
auto disabled_logger = std::make_shared<spdlog::logger>("bench", std::make_shared<null_sink_mt>());
|
|
|
|
|
disabled_logger->set_level(spdlog::level::off);
|
|
|
|
@ -81,6 +93,12 @@ int main(int argc, char *argv[])
|
|
|
|
|
tracing_null_logger_st->enable_backtrace(64);
|
|
|
|
|
benchmark::RegisterBenchmark("null_sink_st/backtrace", bench_logger, tracing_null_logger_st);
|
|
|
|
|
|
|
|
|
|
#ifdef __linux
|
|
|
|
|
bench_dev_null();
|
|
|
|
|
#endif // __linux__
|
|
|
|
|
|
|
|
|
|
if (full_bench)
|
|
|
|
|
{
|
|
|
|
|
// basic_st
|
|
|
|
|
auto basic_st = spdlog::basic_logger_st("basic_st", "latency_logs/basic_st.log", true);
|
|
|
|
|
benchmark::RegisterBenchmark("basic_st", bench_logger, std::move(basic_st))->UseRealTime();
|
|
|
|
@ -129,6 +147,7 @@ int main(int argc, char *argv[])
|
|
|
|
|
auto daily_mt = spdlog::daily_logger_mt("daily_mt", "latency_logs/daily_mt.log");
|
|
|
|
|
benchmark::RegisterBenchmark("daily_mt", bench_logger, std::move(daily_mt))->Threads(n_threads)->UseRealTime();
|
|
|
|
|
spdlog::drop("daily_mt");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// async
|
|
|
|
|
auto queue_size = 1024 * 1024 * 3;
|
|
|
|
|