예제 #1
0
파일: test_order.py 프로젝트: roxyboy/dask
def test_prefer_broker_nodes():
    """

    b0    b1  b2
    |      \  /
    a0      a1

    a1 should be run before a0
    """
    a, b, c = 'abc'
    dsk = {(a, 0): (f,), (a, 1): (f,),
           (b, 0): (f, (a, 0)), (b, 1): (f, (a, 1)), (b, 2): (f, (a, 1))}

    dependencies, dependents = get_deps(dsk)
    nd = ndependents(dependencies, dependents)
    cm = child_max(dependencies, dependents, nd)
    o = order(dsk)

    assert o[(a, 1)] < o[(a, 0)]

    # Switch name of 0, 1 to ensure that this isn't due to string comparison
    dsk = {(a, 0): (f,), (a, 1): (f,),
           (b, 0): (f, (a, 0)), (b, 1): (f, (a, 1)), (b, 2): (f, (a, 0))}

    o = order(dsk)

    assert o[(a, 1)] > o[(a, 0)]
예제 #2
0
def test_deep_bases_win_over_dependents():
    """
    d should come before e and probably before one of b and c

            a
          / | \   .
         b  c |
        / \ | /
       e    d
    """
    dsk = {
        'a': (f, 'b', 'c', 'd'),
        'b': (f, 'd', 'e'),
        'c': (f, 'd'),
        'd': 1,
        'e': 2
    }

    dependencies, dependents = get_deps(dsk)
    nd = ndependents(dependencies, dependents)
    cm = child_max(dependencies, dependents, nd)

    o = order(dsk)
    assert o['d'] < o['e']
    assert o['d'] < o['b'] or o['d'] < o['c']
예제 #3
0
파일: test_order.py 프로젝트: roxyboy/dask
def test_deep_bases_win_over_dependents():
    """
    d should come before e and probably before one of b and c

            a
          / | \   .
         b  c |
        / \ | /
       e    d
    """
    dsk = {'a': (f, 'b', 'c', 'd'), 'b': (f, 'd', 'e'), 'c': (f, 'd'), 'd': 1,
            'e': 2}

    dependencies, dependents = get_deps(dsk)
    nd = ndependents(dependencies, dependents)
    cm = child_max(dependencies, dependents, nd)

    o = order(dsk)
    assert o['d'] < o['e']
    assert o['d'] < o['b'] or o['d'] < o['c']
예제 #4
0
def test_prefer_broker_nodes():
    """

    b0    b1  b2
    |      \  /
    a0      a1

    a1 should be run before a0
    """
    a, b, c = 'abc'
    dsk = {
        (a, 0): (f, ),
        (a, 1): (f, ),
        (b, 0): (f, (a, 0)),
        (b, 1): (f, (a, 1)),
        (b, 2): (f, (a, 1))
    }

    dependencies, dependents = get_deps(dsk)
    nd = ndependents(dependencies, dependents)
    cm = child_max(dependencies, dependents, nd)
    o = order(dsk)

    assert o[(a, 1)] < o[(a, 0)]

    # Switch name of 0, 1 to ensure that this isn't due to string comparison
    dsk = {
        (a, 0): (f, ),
        (a, 1): (f, ),
        (b, 0): (f, (a, 0)),
        (b, 1): (f, (a, 1)),
        (b, 2): (f, (a, 0))
    }

    o = order(dsk)

    assert o[(a, 1)] > o[(a, 0)]
예제 #5
0
def test_stacklimit():
    dsk = dict(('x%s' % (i + 1), (inc, 'x%s' % i)) for i in range(10000))
    dependencies, dependents = get_deps(dsk)
    scores = dict.fromkeys(dsk, 1)
    child_max(dependencies, dependents, scores)
    ndependents(dependencies, dependents)
예제 #6
0
파일: test_order.py 프로젝트: rth/dask
def test_stacklimit():
    dsk = dict(('x%s' % (i + 1), (inc, 'x%s' % i)) for i in range(10000))
    dependencies, dependents = get_deps(dsk)
    scores = dict.fromkeys(dsk, 1)
    child_max(dependencies, dependents, scores)
    ndependents(dependencies, dependents)