blob: b5a1ed77179307f29e0655347a0728ce9194f669 [file] [log] [blame]
mbligh6cc64ff2006-12-14 22:36:38 +00001#!/usr/bin/python
2import sys, os, re
3
4def avg_deviation(values):
jadmanski0afbb632008-06-06 21:10:57 +00005 sum = 0
6 count = 0
mbligh6cc64ff2006-12-14 22:36:38 +00007
jadmanski0afbb632008-06-06 21:10:57 +00008 if not values:
9 return (0, 0)
10 for x in values:
11 sum += x
12 count += 1
13 average = sum / count
14 sum_sq_dev = 0
15 for x in values:
16 sum_sq_dev += (x - average) ** 2
17 std_dev = (sum_sq_dev / count)**0.5
18 return (average, 100 * std_dev / average)
mbligh6cc64ff2006-12-14 22:36:38 +000019
20
jadmanski0afbb632008-06-06 21:10:57 +000021list = []
mbligh6cc64ff2006-12-14 22:36:38 +000022for line in sys.stdin.readlines():
jadmanski0afbb632008-06-06 21:10:57 +000023 (user, system, elapsed, cpu) = line.split()[0:4]
24 user = float(re.match(r'([\d\.]+)', user).group(0))
25 system = float(re.match(r'([\d\.]+)', system).group(0))
26 m = re.match(r'(\d+):([\d\.]+)', elapsed)
27 elapsed = 60*int(m.group(1)) + float(m.group(2))
28 cpu = int(re.match(r'(\d+)', cpu).group(0))
mbligh6cc64ff2006-12-14 22:36:38 +000029
jadmanski0afbb632008-06-06 21:10:57 +000030 list.append((user, system, elapsed, cpu))
mbligh6cc64ff2006-12-14 22:36:38 +000031
32print " user: %0.2fs (%0.2f%%)" % avg_deviation([x[0] for x in list])
33print " system: %0.2fs (%0.2f%%)" % avg_deviation([x[1] for x in list])
34print "elapsed: %0.2fs (%0.2f%%)" % avg_deviation([x[2] for x in list])
35print " cpu: %d%% (%0.2f%%)" % avg_deviation([x[3] for x in list])