From 3f0d1b0d6bbfe101d4d1059b21be030517e6fa02 Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Sun, 14 Jul 2024 12:40:21 -0700 Subject: [PATCH] Don't use memcpy in append --- include/fmt/base.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/include/fmt/base.h b/include/fmt/base.h index 4d6a33bc51dbc..4b4476aca9f71 100644 --- a/include/fmt/base.h +++ b/include/fmt/base.h @@ -930,12 +930,9 @@ template class buffer { try_reserve(size_ + count); auto free_cap = capacity_ - size_; if (free_cap < count) count = free_cap; - if (std::is_same::value) { - memcpy(ptr_ + size_, begin, count * sizeof(T)); - } else { - T* out = ptr_ + size_; - for (size_t i = 0; i < count; ++i) out[i] = begin[i]; - } + // A loop is faster than memcpy on small sizes. + T* out = ptr_ + size_; + for (size_t i = 0; i < count; ++i) out[i] = begin[i]; size_ += count; begin += count; }