def test_gzip_call(self): p = vmprof.Profiler() with p.measure(native=True): for i in range(1000): self.lib.native_gzipgzipgzip() stats = p.get_stats() top = stats.get_top(stats.profiles) pp = PrettyPrinter() pp._print_tree(stats.get_tree()) def walk(parent): if parent is None or len(parent.children) == 0: return False if 'n:native_gzipgzipgzip:' in parent.name: return True for child in parent.children.values(): if 'n:native_gzipgzipgzip:' in child.name: p = float(child.count) / parent.count assert p >= 0.3 # usually bigger than 0.4 return True else: found = walk(child) if found: return True parent = stats.get_tree() assert walk(parent)
def test_gzip_call(self): p = vmprof.Profiler() with p.measure(native=True): for i in range(1000): self.lib.native_gzipgzipgzip(); stats = p.get_stats() top = stats.get_top(stats.profiles) pp = PrettyPrinter() pp._print_tree(stats.get_tree()) def walk(parent): if parent is None or len(parent.children) == 0: return False if 'n:native_gzipgzipgzip:' in parent.name: return True for child in parent.children.values(): if 'n:native_gzipgzipgzip:' in child.name: p = float(child.count) / parent.count assert p >= 0.3 # usually bigger than 0.4 return True else: found = walk(child) if found: return True parent = stats.get_tree() assert walk(parent)
def test(self): # XXX: this test is known to fail since rev a4f077ba651c, but buildbot # never ran it. FIXME. from vmprof import read_profile from vmprof.show import PrettyPrinter assert self.rpy_entry_point(3, 0.5) == 42000 assert self.tmpfile.check() # prof = read_profile(self.tmpfilename) tree = prof.get_tree() p = PrettyPrinter() p._print_tree(tree) def walk(tree, symbols): symbols.append(tree.name) if len(tree.children) == 0: return for child in tree.children.values(): walk(child, symbols) symbols = [] walk(tree, symbols) not_found = ['n:native_func'] for sym in symbols: for i, name in enumerate(not_found): if sym.startswith(name): del not_found[i] break assert not_found == []
def test_vmprof_show(): tmpfile = tempfile.NamedTemporaryFile(delete=False) vmprof.enable(tmpfile.fileno()) function_bar() vmprof.disable() tmpfile.close() pp = PrettyPrinter() pp.show(tmpfile.name)
def check_profile(filename): from vmprof import read_profile from vmprof.show import PrettyPrinter prof = read_profile(filename) tree = prof.get_tree() p = PrettyPrinter() p._print_tree(tree) def walk(tree, symbols): symbols.append(tree.name) if len(tree.children) == 0: return for child in tree.children.values(): walk(child, symbols) symbols = [] walk(tree, symbols) not_found = ['n:native_func'] for sym in symbols: for i,name in enumerate(not_found): if sym.startswith(name): del not_found[i] break assert not_found == []