Пример #1
0
def test_read_bit_by_bit():
    tmpfile = tempfile.NamedTemporaryFile(delete=False)
    vmprof.enable(tmpfile.fileno())
    function_foo()
    vmprof.disable()
    tmpfile.close()
    with open(tmpfile.name, "rb") as f:
        period, profiles, virtual_symbols, interp_name = read_prof_bit_by_bit(f)
        stats = Stats(profiles, virtual_symbols, interp_name)
        stats.get_tree()
Пример #2
0
def test_read_bit_by_bit():
    tmpfile = tempfile.NamedTemporaryFile(delete=False)
    vmprof.enable(tmpfile.fileno())
    function_foo()
    vmprof.disable()
    tmpfile.close()
    with open(tmpfile.name, 'rb') as f:
        period, profiles, virtual_symbols, interp_name = read_prof_bit_by_bit(
            f)
        stats = Stats(profiles, virtual_symbols, interp_name)
        stats.get_tree()
Пример #3
0
def test_tree_basic():
    profiles = [([1, 2], 1, 1), ([1, 2], 1, 1)]
    stats = Stats(profiles, adr_dict={1: 'foo', 2: 'bar'})
    tree = stats.get_tree()
    assert tree == Node(1, 'foo', 2, {2: Node(2, 'bar', 2)})
    assert repr(tree) == '<Node: foo (2) [(2, bar)]>'

    profiles = [([1, 2], 1, 1), ([1, 3], 1, 1)]
    stats = Stats(profiles, adr_dict={1: 'foo', 2: 'bar', 3: 'baz'})
    tree = stats.get_tree()
    assert tree == Node(1, 'foo', 2, {
        2: Node(2, 'bar', 1),
        3: Node(3, 'baz', 1)
    })
Пример #4
0
def test_tree_basic():
    profiles = [([VirtualFrame(1), VirtualFrame(2)], 1, 1),
                ([VirtualFrame(1), VirtualFrame(2)], 1, 1)]
    stats = Stats(profiles, adr_dict={1: 'foo', 2: 'bar'})
    tree = stats.get_tree()
    assert tree == Node(1, 'foo', 2, {2: Node(2, 'bar', 2)})
    assert repr(tree) == '<Node: foo (2) [(2, bar)]>'

    profiles = [([VirtualFrame(1), VirtualFrame(2)], 1, 1),
                ([VirtualFrame(1), VirtualFrame(3)], 1, 1)]
    stats = Stats(profiles, adr_dict={1: 'foo', 2: 'bar', 3: 'baz'})
    tree = stats.get_tree()
    assert tree == Node(1, 'foo', 2, {
        2: Node(2, 'bar', 1),
        3: Node(3, 'baz', 1)})
Пример #5
0
def test_tree_gc():
    profiles = [([VirtualFrame(1)], 1, 1),
                ([VirtualFrame(1), MinorGCFrame(100)], 1, 1)]
    stats = Stats(profiles, adr_dict={1: 'foo', 100: 'gc_collect'})
    tree = stats.get_tree()
    assert tree == Node(1, 'foo', 2)
    assert tree.meta['gc:minor'] == 1
Пример #6
0
def test_tree_jit():
    profiles = [([1], 1, 1),
                ([1, AssemblerCode(100), JittedCode(1)], 1, 1)]
    stats = Stats(profiles, adr_dict={1: 'foo'})
    tree = stats.get_tree()
    assert tree == Node(1, 'foo', 2)
    assert tree.meta['jit'] == 1
Пример #7
0
def test_line_profiling():
    tmpfile = tempfile.NamedTemporaryFile(delete=False)
    vmprof.enable(tmpfile.fileno(), lines=True)  # enable lines profiling
    function_foo()
    vmprof.disable()
    tmpfile.close()

    def walk(tree):
        assert len(tree.lines) >= len(tree.children)

        for v in six.itervalues(tree.children):
            walk(v)

    with open(tmpfile.name, "rb") as f:
        period, profiles, virtual_symbols, interp_name = read_prof_bit_by_bit(f)
        stats = Stats(profiles, virtual_symbols, interp_name)
        walk(stats.get_tree())
Пример #8
0
def test_line_profiling():
    tmpfile = tempfile.NamedTemporaryFile(delete=False)
    vmprof.enable(tmpfile.fileno(), lines=True)  # enable lines profiling
    function_foo()
    vmprof.disable()
    tmpfile.close()

    def walk(tree):
        assert len(tree.lines) >= len(tree.children)

        for v in six.itervalues(tree.children):
            walk(v)

    with open(tmpfile.name, 'rb') as f:
        period, profiles, virtual_symbols, interp_name = read_prof_bit_by_bit(
            f)
        stats = Stats(profiles, virtual_symbols, interp_name)
        walk(stats.get_tree())
Пример #9
0
def test_tree_jit():
    profiles = [([1], 1, 1), ([1, AssemblerCode(100), JittedCode(1)], 1, 1)]
    stats = Stats(profiles, adr_dict={1: 'foo'})
    tree = stats.get_tree()
    assert tree == Node(1, 'foo', 2)
    assert tree.meta['jit'] == 1