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);
std::shared_ptr< const fml::Mapping > data