35 : cpu_speeds_(
std::move(data)) {
36 std::optional<int64_t> max_speed = std::nullopt;
37 std::optional<int64_t> min_speed = std::nullopt;
38 for (
const auto& data : cpu_speeds_) {
39 if (!max_speed.has_value() || data.speed > max_speed.value()) {
40 max_speed = data.speed;
42 if (!min_speed.has_value() || data.speed < min_speed.value()) {
43 min_speed = data.speed;
46 if (!max_speed.has_value() || !min_speed.has_value() ||
47 min_speed.value() == max_speed.value()) {
50 const int64_t max_speed_value = max_speed.value();
51 const int64_t min_speed_value = min_speed.value();
53 for (
const auto& data : cpu_speeds_) {
54 if (data.speed == max_speed_value) {
55 performance_.push_back(data.index);
57 not_performance_.push_back(data.index);
59 if (data.speed == min_speed_value) {
60 efficiency_.push_back(data.index);