From def3c7df325ceedb4178bd085953cc4bd69800d6 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 27 Jun 2019 16:27:19 +0200 Subject: [PATCH] RedisWriter#CreateConfigUpdate(): reduce memory allocations --- lib/redis/rediswriter-objects.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/redis/rediswriter-objects.cpp b/lib/redis/rediswriter-objects.cpp index 6a0bc5dc3..fadda0776 100644 --- a/lib/redis/rediswriter-objects.cpp +++ b/lib/redis/rediswriter-objects.cpp @@ -864,12 +864,14 @@ RedisWriter::CreateConfigUpdate(const ConfigObject::Ptr& object, const String ty InsertObjectDependencies(object, typeName, statements); String objectKey = GetObjectIdentifier(object); + auto& attrs (statements.at(m_PrefixConfigObject + typeName)); + auto& chksms (statements.at(m_PrefixConfigCheckSum + typeName)); - statements[m_PrefixConfigObject + typeName].emplace_back(objectKey); - statements[m_PrefixConfigObject + typeName].emplace_back(JsonEncode(attr)); + attrs.emplace_back(objectKey); + attrs.emplace_back(JsonEncode(attr)); - statements[m_PrefixConfigCheckSum + typeName].emplace_back(objectKey);; - statements[m_PrefixConfigCheckSum + typeName].emplace_back(JsonEncode(new Dictionary({{"checksum", HashValue(attr)}}))); + chksms.emplace_back(objectKey); + chksms.emplace_back(JsonEncode(new Dictionary({{"checksum", HashValue(attr)}}))); /* Send an update event to subscribers. */ if (runtimeUpdate) {