blob: ae2c8c2d583c9c92e7f598fc26f14734038f9e54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include "powerconsumer.h"
#include "process.h"
#include "../parameters/parameters.h"
double power_consumer::Witts(void)
{
double cost;
double timecost;
double wakeupcost;
if (child_runtime > accumulated_runtime)
child_runtime = 0;
timecost = get_parameter_value("cpu-consumption");
wakeupcost = get_parameter_value("cpu-wakeups");
cost = wakeupcost * wake_ups / 10000.0;
cost += ( (accumulated_runtime - child_runtime) / 1000000000.0 * timecost);
cost = cost / measurement_time;
return cost;
}
|