From fb1a3a3a121ade2da2f6b23ce75f8dd306115972 Mon Sep 17 00:00:00 2001 From: gabime Date: Tue, 20 Nov 2018 15:40:51 +0200 Subject: [PATCH] Micro optimized some formatter flags --- include/spdlog/details/pattern_formatter.h | 68 ++++++++++++++++------ 1 file changed, 50 insertions(+), 18 deletions(-) diff --git a/include/spdlog/details/pattern_formatter.h b/include/spdlog/details/pattern_formatter.h index a51b2132..7c841030 100644 --- a/include/spdlog/details/pattern_formatter.h +++ b/include/spdlog/details/pattern_formatter.h @@ -448,11 +448,17 @@ public: void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override { - const size_t field_size = 3; - scoped_pad p(field_size, padinfo_, dest); - auto millis = fmt_helper::time_fraction(msg.time); - fmt_helper::pad3(static_cast(millis.count()), dest); + if (padinfo_.width_) + { + const size_t field_size = 3; + scoped_pad p(field_size, padinfo_, dest); + fmt_helper::pad3(static_cast(millis.count()), dest); + } + else + { + fmt_helper::pad3(static_cast(millis.count()), dest); + } } }; @@ -465,11 +471,17 @@ public: void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override { - const size_t field_size = 6; - scoped_pad p(field_size, padinfo_, dest); - auto micros = fmt_helper::time_fraction(msg.time); - fmt_helper::pad6(static_cast(micros.count()), dest); + if (padinfo_.width_) + { + const size_t field_size = 6; + scoped_pad p(field_size, padinfo_, dest); + fmt_helper::pad6(static_cast(micros.count()), dest); + } + else + { + fmt_helper::pad6(static_cast(micros.count()), dest); + } } }; @@ -482,11 +494,17 @@ public: void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override { - const size_t field_size = 9; - scoped_pad p(field_size, padinfo_, dest); - auto ns = fmt_helper::time_fraction(msg.time); - fmt_helper::pad9(static_cast(ns.count()), dest); + if (padinfo_.width_) + { + const size_t field_size = 9; + scoped_pad p(field_size, padinfo_, dest); + fmt_helper::pad9(static_cast(ns.count()), dest); + } + else + { + fmt_helper::pad9(static_cast(ns.count()), dest); + } } }; @@ -652,9 +670,16 @@ public: void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override { - const auto field_size = fmt_helper::count_digits(msg.thread_id); - scoped_pad p(field_size, padinfo_, dest); - fmt_helper::append_int(msg.thread_id, dest); + if (padinfo_.width_) + { + const auto field_size = fmt_helper::count_digits(msg.thread_id); + scoped_pad p(field_size, padinfo_, dest); + fmt_helper::append_int(msg.thread_id, dest); + } + else + { + fmt_helper::append_int(msg.thread_id, dest); + } } }; @@ -668,9 +693,16 @@ public: void format(const details::log_msg &, const std::tm &, fmt::memory_buffer &dest) override { const auto pid = static_cast(details::os::pid()); - const size_t field_size = fmt::internal::count_digits(pid); - scoped_pad p(field_size, padinfo_, dest); - fmt_helper::append_int(pid, dest); + if (padinfo_.width_) + { + const size_t field_size = fmt::internal::count_digits(pid); + scoped_pad p(field_size, padinfo_, dest); + fmt_helper::append_int(pid, dest); + } + else + { + fmt_helper::append_int(pid, dest); + } } };