| 123456789101112131415161718192021222324252627282930313233343536373839 | 
							- #!/usr/bin/python
 
- import cPickle
 
- data = cPickle.load(open("callgraph.pkl"))
 
- callgraph = data['callgraph']
 
- closure = data['closure']
 
- sccs = data['sccs']
 
- fn_bottle, call_bottle = data['bottlenecks']
 
- for n_reachable, fn in sorted(list((len(r), fn) for fn, r in closure.iteritems())):
 
-    print "%s can reach %s other functions." %(fn, n_reachable)
 
- c = [ (len(component), component) for component in sccs ]
 
- c.sort()
 
- print "\n================================"
 
- for n, component in c:
 
-    if n < 2:
 
-       continue
 
-    print "Strongly connected component of size %d:"%n
 
-    print component
 
- print "\n================================"
 
- print "====== Number of functions pulled into blob, by function in blob."
 
- fn_bottle.sort()
 
- for n, fn in fn_bottle[-30:]:
 
-    print "%3d: %s"%(n, fn)
 
- print "====== Number of functions pulled into blob, by call in blob."
 
- call_bottle.sort()
 
- for n, fn1, _, fn2 in call_bottle[-30:]:
 
-    print "%3d: %s -> %s "%(n, fn2, fn1)
 
 
  |