From 140122533085c62dd7f2e59ddc6bf2933db19c93 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 6 Feb 2017 21:46:11 +0100 Subject: QLoggingRegistry: optimize updateRules() ... by not creating three temporary QVectors just to concatenate them. There's no QVectorBuilder, so what works well with QStrings doesn't work well at all with QVectors. The chaining of op+ causes three temporary QVectors to be created and thrown away. Instead, use clear() (which preserves the vector's capacity these days), followed by four op+=. Change-Id: I300bd35544ea41037d28db0f48f210c33c826b85 Reviewed-by: Milian Wolff --- src/corelib/io/qloggingregistry.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/corelib') diff --git a/src/corelib/io/qloggingregistry.cpp b/src/corelib/io/qloggingregistry.cpp index eaebbc1ffc..b8d1919ee6 100644 --- a/src/corelib/io/qloggingregistry.cpp +++ b/src/corelib/io/qloggingregistry.cpp @@ -365,7 +365,12 @@ void QLoggingRegistry::setApiRules(const QString &content) */ void QLoggingRegistry::updateRules() { - rules = qtConfigRules + configRules + apiRules + envRules; + rules.clear(); + rules.reserve(qtConfigRules.size() + configRules.size() + apiRules.size() + envRules.size()), + rules += qtConfigRules; + rules += configRules; + rules += apiRules; + rules += envRules; for (auto it = categories.keyBegin(), end = categories.keyEnd(); it != end; ++it) (*categoryFilter)(*it); -- cgit v1.2.3