Stop ignoring certain bridge network statuses (#8462).
[tor-metrics-tasks.git] / task-7009 / pairwise.py
blob30a498db977cd39f8fc823c7425ccb05cd30c78b
1 #!/usr/bin/python
3 import os
4 import sys
5 import subprocess
7 def echo(a,b):
8 print a, b
9 return 0
11 def diff_gz(fn, fn2):
12 os.unlink("out.tmp")
13 os.system("diff %s %s | gzip -9 -c > out.tmp" % (fn, fn2))
14 return os.stat("out.tmp").st_size
15 def diff_u_gz(fn, fn2):
16 os.unlink("out.tmp")
17 os.system("diff -u %s %s | gzip -9 -c > out.tmp" % (fn, fn2))
18 return os.stat("out.tmp").st_size
19 def diff_e_gz(fn, fn2):
20 os.unlink("out.tmp")
21 os.system("diff -e %s %s | gzip -9 -c > out.tmp" % (fn, fn2))
22 return os.stat("out.tmp").st_size
24 def diff_bz2(fn, fn2):
25 os.unlink("out.tmp")
26 os.system("diff %s %s | bzip2 -9 -c > out.tmp" % (fn, fn2))
27 return os.stat("out.tmp").st_size
28 def diff_u_bz2(fn, fn2):
29 os.unlink("out.tmp")
30 os.system("diff -u %s %s | bzip2 -9 -c > out.tmp" % (fn, fn2))
31 return os.stat("out.tmp").st_size
32 def diff_e_bz2(fn, fn2):
33 os.unlink("out.tmp")
34 os.system("diff -e %s %s | bzip2 -9 -c > out.tmp" % (fn, fn2))
35 return os.stat("out.tmp").st_size
37 def condiff_gz(fn, fn2):
38 os.unlink("out.tmp")
39 os.system("./condiff.py %s %s | gzip -9 -c > out.tmp" % (fn, fn2))
40 return os.stat("out.tmp").st_size
41 def condiff_bz2(fn, fn2):
42 os.unlink("out.tmp")
43 os.system("./condiff.py %s %s | bzip2 -9 -c > out.tmp" % (fn, fn2))
44 return os.stat("out.tmp").st_size
46 def condiff2_gz(fn, fn2):
47 os.unlink("out.tmp")
48 os.system("./condiff2.py %s %s | gzip -9 -c > out.tmp" % (fn, fn2))
49 return os.stat("out.tmp").st_size
50 def condiff2_bz2(fn, fn2):
51 os.unlink("out.tmp")
52 os.system("./condiff2.py %s %s | bzip2 -9 -c > out.tmp" % (fn, fn2))
53 return os.stat("out.tmp").st_size
55 f = open("out.tmp", 'w')
56 f.write("xyz")
57 f.close()
59 func = globals()[sys.argv[1]]
61 allvals = []
62 total = 0L
63 N = 0
65 lag = int(sys.argv[2])
67 def pairwise(it):
68 it = iter(it)
69 lastv = []
70 for i in xrange(lag):
71 lastv.append(it.next())
72 for v in it:
73 yield lastv[0], v
74 lastv.append(v)
75 del lastv[0]
77 for fname, fname2 in pairwise(sys.argv[3:]):
78 n = func(fname, fname2)
79 N += 1
80 total += n
81 allvals.append(n)
83 allvals.sort()
84 print "%s: lag %s: mean %s. median %s"%(sys.argv[1], lag, total//N, allvals[N//2])