36 : cpu_speeds_(
std::move(data)) {
37 std::optional<int64_t> max_speed = std::nullopt;
38 std::optional<int64_t> min_speed = std::nullopt;
39 for (
const auto& data : cpu_speeds_) {
40 if (!max_speed.has_value() || data.speed > max_speed.value()) {
41 max_speed = data.speed;
43 if (!min_speed.has_value() || data.speed < min_speed.value()) {
44 min_speed = data.speed;
47 if (!max_speed.has_value() || !min_speed.has_value() ||
48 min_speed.value() == max_speed.value()) {
51 const int64_t max_speed_value = max_speed.value();
52 const int64_t min_speed_value = min_speed.value();
54 for (
const auto& data : cpu_speeds_) {
55 if (data.speed == max_speed_value) {
56 performance_.push_back(data.index);
58 not_performance_.push_back(data.index);
60 if (data.speed == min_speed_value) {
61 efficiency_.push_back(data.index);
63 not_efficiency_.push_back(data.index);