diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2022-10-21 13:18:07 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2022-11-09 02:18:45 -0700 |
commit | 1fef390ad7ea836b76ed48dfd57e45f9e2f02c19 (patch) | |
tree | 9d98ba0e86e513ab63dc63c28de7202379d90377 /src/testlib | |
parent | 3cafd26c1d26cbcacbb62e69acc8735e637c6e0a (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.cpp | 27 |
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"); } } |