コード例 #1
0
ファイル: test_storage.py プロジェクト: dlbrittain/blaze-core
def test_free():
    h = Heap()

    addr1, block1, c1ptr = allocate_raw(h, 5)
    addr2, block2, c2ptr = allocate_raw(h, 5)

    assert len(h._arenas) == 1
    h.free(block2)

    addr3, block2, c2ptr = allocate_raw(h, 5)

    # Blocks get merged when free'd so that align blocks
    assert addr3 == addr2
コード例 #2
0
def test_free():
    h = Heap()

    addr1, block1, c1ptr = allocate_raw(h, 5)
    addr2, block2, c2ptr = allocate_raw(h, 5)

    assert len(h._arenas) == 1
    h.free(block2)

    addr3, block2, c2ptr = allocate_raw(h, 5)

    # Blocks get merged when free'd so that align blocks
    assert addr3 == addr2
コード例 #3
0
ファイル: execution.py プロジェクト: kanghaiyang/blaze
def execute(context, plan, symbols):
    """ Takes a list of of instructions from the Pipeline and
    then allocates the necessary memory needed for the
    intermediates are temporaries """

    h = Heap()
    ret = None

    for instruction in plan:
        ops = [symbols[sym] for sym in symbols]
        dds = [op.asbuflist() for op in ops]
        dss = [op.datashape() for op in ops]

        if instruction.lhs:
            h.allocate(instruction.lhs.size())
            ret = instruction(dds, dss)
        else:
            instruction(dds, dss)

    h.finalize()
    return ret
コード例 #4
0
def test_iopro():
    # this is kind of stupid right now because it does a copy,
    # but Tight IOPro integration will be a priority...

    h = Heap()

    s = StringIO(','.join(letters))

    data = iopro.genfromtxt(s, dtype='c', delimiter=",")

    addr, block = allocate_numpy(h, data.dtype, data.shape)
    block[:] = data[:]

    assert not block.flags['OWNDATA']
    assert block.ctypes.data == addr

    assert len(h._arenas) == 1
    assert block.nbytes < h._lengths[0]

    finalize(h)
コード例 #5
0
def test_malloc():
    h = Heap()
    _, block, _ = allocate_raw(h, 1000)