summaryrefslogtreecommitdiffstats
path: root/src/testlib
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2022-10-21 13:18:07 -0700
committerThiago Macieira <thiago.macieira@intel.com>2022-11-09 02:18:45 -0700
commit1fef390ad7ea836b76ed48dfd57e45f9e2f02c19 (patch)
tree9d98ba0e86e513ab63dc63c28de7202379d90377 /src/testlib
parent3cafd26c1d26cbcacbb62e69acc8735e637c6e0a (diff)
QBenchlib/Perf: use C++11 range-fors for the event list
This code predated C++11 and thus had a sentinel element. Change-Id: I3c79b7e08fa346988dfefffd17202ef3f9735683 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/testlib')
-rw-r--r--src/testlib/qbenchmarkperfevents.cpp27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/testlib/qbenchmarkperfevents.cpp b/src/testlib/qbenchmarkperfevents.cpp
index 9688836d81..6350c777cd 100644
--- a/src/testlib/qbenchmarkperfevents.cpp
+++ b/src/testlib/qbenchmarkperfevents.cpp
@@ -207,7 +207,7 @@ for $entry (sort @strings) {
$map{$entry}[2],
$map{$entry}[3];
}
-print " { 0, PERF_TYPE_MAX, 0, QTest::Events }\n};\n";
+print "};\n";
=== cut perl ===
*/
@@ -391,16 +391,14 @@ static const Events eventlist[] = {
{ 1303, PERF_TYPE_HARDWARE, PERF_COUNT_HW_STALLED_CYCLES_BACKEND, QTest::StalledCycles },
{ 1326, PERF_TYPE_HARDWARE, PERF_COUNT_HW_STALLED_CYCLES_FRONTEND, QTest::StalledCycles },
{ 1350, PERF_TYPE_SOFTWARE, PERF_COUNT_SW_TASK_CLOCK, QTest::WalltimeNanoseconds },
- { 0, PERF_TYPE_MAX, 0, QTest::Events }
};
/* -- END GENERATED CODE -- */
static QTest::QBenchmarkMetric metricForEvent(PerfEvent counter)
{
- const Events *ptr = eventlist;
- for ( ; ptr->type != PERF_TYPE_MAX; ++ptr) {
- if (ptr->type == counter.type && ptr->event_id == counter.config)
- return ptr->metric;
+ for (const Events &ev : eventlist) {
+ if (ev.type == counter.type && ev.event_id == counter.config)
+ return ev.metric;
}
return QTest::Events;
}
@@ -418,8 +416,8 @@ void QBenchmarkPerfEventsMeasurer::setCounter(const char *name)
if (qsizetype idx = countername.find(','); idx >= 0)
countername = countername.substr(0, idx);
- for (const Events *ptr = eventlist; ptr->type != PERF_TYPE_MAX; ++ptr) {
- int c = countername.compare(eventlist_strings + ptr->offset);
+ for (const Events &ev : eventlist) {
+ int c = countername.compare(eventlist_strings + ev.offset);
if (c > 0)
continue;
if (c < 0) {
@@ -427,7 +425,7 @@ void QBenchmarkPerfEventsMeasurer::setCounter(const char *name)
int(countername.size()), countername.data());
exit(1);
}
- eventTypes->append({ ptr->type, ptr->event_id });
+ eventTypes->append({ ev.type, ev.event_id });
break;
}
@@ -451,12 +449,11 @@ void QBenchmarkPerfEventsMeasurer::listCounters()
}
printf("The following performance counters are available:\n");
- const Events *ptr = eventlist;
- for ( ; ptr->type != PERF_TYPE_MAX; ++ptr) {
- printf(" %-30s [%s]\n", eventlist_strings + ptr->offset,
- ptr->type == PERF_TYPE_HARDWARE ? "hardware" :
- ptr->type == PERF_TYPE_SOFTWARE ? "software" :
- ptr->type == PERF_TYPE_HW_CACHE ? "cache" : "other");
+ for (const Events &ev : eventlist) {
+ printf(" %-30s [%s]\n", eventlist_strings + ev.offset,
+ ev.type == PERF_TYPE_HARDWARE ? "hardware" :
+ ev.type == PERF_TYPE_SOFTWARE ? "software" :
+ ev.type == PERF_TYPE_HW_CACHE ? "cache" : "other");
}
}