mirror of
https://github.com/gabime/spdlog.git
synced 2025-01-26 15:39:03 +08:00
faster reset of cached buffer
This commit is contained in:
parent
21524c16fa
commit
b4dcd592d8
@ -29,6 +29,16 @@ class flag_formatter
|
|||||||
public:
|
public:
|
||||||
virtual ~flag_formatter() = default;
|
virtual ~flag_formatter() = default;
|
||||||
virtual void format(const details::log_msg &msg, const std::tm &tm_time, fmt::memory_buffer &dest) = 0;
|
virtual void format(const details::log_msg &msg, const std::tm &tm_time, fmt::memory_buffer &dest) = 0;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
fmt::memory_buffer cached_buf_;
|
||||||
|
std::tm cached_tm_;
|
||||||
|
bool from_cache(const std::tm &tm_time, fmt::memory_buffer &dest)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////
|
||||||
@ -460,7 +470,7 @@ class full_formatter SPDLOG_FINAL : public flag_formatter
|
|||||||
// each second cache the header
|
// each second cache the header
|
||||||
auto duration = msg.time.time_since_epoch();
|
auto duration = msg.time.time_since_epoch();
|
||||||
auto seconds = std::chrono::duration_cast<std::chrono::seconds>(duration).count();
|
auto seconds = std::chrono::duration_cast<std::chrono::seconds>(duration).count();
|
||||||
if (true || cached_header_.size() == 0 || cached_seconds_ts_ != seconds)
|
if (cached_header_.size() == 0 || cached_seconds_ts_ != seconds)
|
||||||
{
|
{
|
||||||
cached_header_.resize(0);
|
cached_header_.resize(0);
|
||||||
cached_header_.push_back('[');
|
cached_header_.push_back('[');
|
||||||
|
Loading…
Reference in New Issue
Block a user