6#include "benchmark/benchmark.h"
13 auto formatter = spdlog::details::make_unique<spdlog::pattern_formatter>(pattern);
16 const char *text =
"Hello. This is some message with length of 80 ";
25 benchmark::DoNotOptimize(dest);
32 std::string all_flags =
"+vtPnlLaAbBcCYDmdHIMSefFprRTXzEisg@luioO%";
34 for (
auto &flag : all_flags)
37 benchmark::RegisterBenchmark(pattern.c_str(), &
bench_formatter, pattern);
49 "[%D %X] [%l] [%n] %v",
50 "[%Y-%m-%d %H:%M:%S.%e] [%l] [%n] %v",
51 "[%Y-%m-%d %H:%M:%S.%e] [%l] [%n] [%t] %v",
53 for (
auto &pattern : patterns)
55 benchmark::RegisterBenchmark(pattern.c_str(), &
bench_formatter, pattern)->Iterations(2500000);
59int main(
int argc,
char *argv[])
65 spdlog::error(
"Usage: {} <pattern> (or \"all\" to bench all)", argv[0]);
78 benchmark::Initialize(&argc, argv);
79 benchmark::RunSpecifiedBenchmarks();
void error(fmt::format_string< Args... > fmt, Args &&...args)
SPDLOG_INLINE void set_pattern(std::string pattern, pattern_time_type time_type)
fmt::basic_memory_buffer< char, 250 > memory_buf_t