Better name for mega-sena files
[lcapit-junk-code.git] / scripts / ccache-use-stat
blobbb47fd97af443d9479d517b0f0fa5df3676c9024
1 #!/usr/bin/python
3 import os, sys
5 def ccache_get_info(info):
6 cmd = "ccache -s | awk '$1 == \"cache\" && $2 == \"%s\" { print $3 }'" % info
7 num = int(os.popen(cmd).readline())
8 return num
10 def ccache_get_all():
11 hit = ccache_get_info("hit")
12 miss = ccache_get_info("miss")
13 return (hit, miss)
15 def compile(args):
16 os.system("make " + args)
18 def report(args, hit_bef, miss_bef, hit_aft, miss_aft):
19 header_size = 30
20 lookups = (hit_aft + miss_aft) - (hit_bef + miss_bef)
21 hits = hit_aft - hit_bef
22 misses = miss_aft - miss_bef
23 hits_per = (100.0 * hits) / lookups
24 miss_per = (100.0 * misses) / lookups
26 print '-' * header_size
27 print 'ccache usage report:\n'
28 print 'cmd: make ' + args + '\n'
29 print 'lookups: %5d' % lookups
30 print 'hits : %5d (%.1f%%)' % (hits, hits_per)
31 print 'misses : %5d (%.1f%%)' % (misses, miss_per)
32 print '-' * header_size
34 def main():
35 args = ""
36 if len(sys.argv) == 2:
37 args = sys.argv[1]
39 (hit_bef, miss_bef) = ccache_get_all()
40 compile(args)
41 (hit_aft, miss_aft) = ccache_get_all()
43 report(args, hit_bef, miss_bef, hit_aft, miss_aft)
44 sys.exit(0)
46 if __name__ == "__main__":
47 main()