lease02: Do a lock-unlock sequence instead of lock-lock
[jlayton/lockperf.git] / stats.pl
1 #!/usr/bin/perl -w
2 #
3 # Postprocess output from locktest runs
4 #
5 # Feed output into this script like so:
6 #
7 #     $ ./stats.pl < posix01-foo-bar-baz.out
8 #
9
10 $num = 0;
11 $total = 0;
12
13 while(<>) {
14         chomp;
15         $val[$num] = $_;
16         $total += $val[$num];
17         $num++;
18 }
19
20 $mean = $total / $num;
21 $min = $val[0];
22 $max = 0;
23
24 for ($i = 0; $i < $num; $i++) {
25         $squared_diff += ($val[$i] - $mean) ** 2;
26         if ($val[$i] < $min) {
27                 $min = $val[$i];
28         }
29         if ($val[$i] > $max) {
30                 $max = $val[$i];
31         }
32 }
33
34 $variance =  $squared_diff / $num;
35 $std_dev = sqrt($variance);
36
37 #print "Num values:\t$num\n";
38 #print "Total:\t\t$total\n";
39 print "Min:\t\t$min\n";
40 print "Max:\t\t$max\n";
41 print "Mean:\t\t$mean\n";
42 #print "Variance:\t$variance\n";
43 print "Std. Dev.:\t$std_dev\n";