From f4d1a471bb87dd4d4bb79b10e8dc434d707711bd Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Fri, 15 Jan 2016 15:31:00 +0300 Subject: Qml: fix expensive iteration over QHash::keys() and QMap::keys() Change-Id: I7bb5dd3b49b9f3a638f81156a02d999dbbd932f3 Reviewed-by: Lars Knoll --- src/qml/jsruntime/qv4runtime.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/qml/jsruntime') diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp index a1bcec4987..2b133ea59c 100644 --- a/src/qml/jsruntime/qv4runtime.cpp +++ b/src/qml/jsruntime/qv4runtime.cpp @@ -154,14 +154,14 @@ struct RuntimeCounters::Data { buf.open(QIODevice::WriteOnly); QTextStream outs(&buf); QList lines; - foreach (const char *func, counters.keys()) { - const Counters &fCount = counters[func]; + for (auto it = counters.cbegin(), end = counters.cend(); it != end; ++it) { + const Counters &fCount = it.value(); for (int i = 0, ei = fCount.size(); i != ei; ++i) { quint64 count = fCount[i]; if (!count) continue; Line line; - line.func = func; + line.func = it.key(); unmangle(i, line.tag1, line.tag2); line.count = count; lines.append(line); -- cgit v1.2.3