Beispiel #1
0
def test_is_not_zero_head(buf):
    assert not ioutil.is_zero(buf)
Beispiel #2
0
def test_is_zero_empty_buffer(buf):
    assert ioutil.is_zero(buffer(buf))
Beispiel #3
0
def test_is_zero_empty_memoryview(buf):
    assert ioutil.is_zero(memoryview(buf))
Beispiel #4
0
start = time.time()

buf = mmap.mmap(-1, args.blocksize)
with closing(buf), \
        directio.open(args.input, "r", direct=args.direct_input) as src, \
        directio.open(args.output, "w", direct=args.direct_output) as dst:
    try:
        dst.truncate(args.size)
    except EnvironmentError as e:
        if e.errno != errno.EINVAL:
            raise
    pos = 0
    while pos < args.size:
        n = src.readinto(buf)
        n = min(n, args.size - pos)
        if ioutil.is_zero(buffer(buf, 0, n)):
            dst.seek(n, os.SEEK_CUR)
        else:
            written = 0
            while written < n:
                wbuf = buffer(buf, written, n - written)
                written += dst.write(wbuf)
        pos += n

    dst.flush()

elapsed = time.time() - start

print "Copied %.2f GiB, in %.3f seconds (%.2f MiB/s)" % (
    float(pos) / 1024**3, elapsed, float(pos) / 1024**2 / elapsed)
Beispiel #5
0
def test_is_not_zero_mmap(aligned_buffer):
    aligned_buffer[-1:] = b"x"
    assert not ioutil.is_zero(aligned_buffer)
Beispiel #6
0
def test_is_zero_mmap(aligned_buffer):
    assert ioutil.is_zero(aligned_buffer)
Beispiel #7
0
def test_is_not_zero_mmap(aligned_buffer):
    aligned_buffer[-1:] = b"x"
    assert not ioutil.is_zero(aligned_buffer)
Beispiel #8
0
def test_is_not_zero(buf):
    assert not ioutil.is_zero(buf)
Beispiel #9
0
def test_is_not_zero_buffer(buf):
    assert not ioutil.is_zero(buffer(buf))  # noqa: F821
Beispiel #10
0
def test_is_zero_empty_memoryview(buf):
    assert ioutil.is_zero(memoryview(buf))
Beispiel #11
0
def test_is_zero(buf):
    assert ioutil.is_zero(buf)
Beispiel #12
0
def test_is_zero_empty_buffer(buf):
    assert ioutil.is_zero(buffer(buf))  # noqa: F821
Beispiel #13
0
def test_is_not_zero_head_buffer(buf):
    assert not ioutil.is_zero(buffer(buf))
Beispiel #14
0
def test_is_zero_buffer(buf):
    assert ioutil.is_zero(buffer(buf))
Beispiel #15
0
def test_is_not_zero_buffer(buf):
    assert not ioutil.is_zero(buffer(buf))
Beispiel #16
0
def test_is_not_zero_memoryview(buf):
    assert not ioutil.is_zero(memoryview(buf))
Beispiel #17
0
def test_is_not_zero_memoryview(buf):
    assert not ioutil.is_zero(memoryview(buf))
Beispiel #18
0
def test_is_zero_mmap(aligned_buffer):
    assert ioutil.is_zero(aligned_buffer)
Beispiel #19
0
def test_is_not_zero_mmap_head(aligned_buffer):
    aligned_buffer[15:16] = b"x"
    assert not ioutil.is_zero(aligned_buffer)
Beispiel #20
0
def test_is_not_zero_mmap_head(aligned_buffer):
    aligned_buffer[15:16] = b"x"
    assert not ioutil.is_zero(aligned_buffer)
Beispiel #21
0
def test_is_zero_empty(buf):
    assert ioutil.is_zero(buf)
Beispiel #22
0
start = time.time()

buf = mmap.mmap(-1, args.blocksize)
with closing(buf), \
        file.open(args.input, "r", direct=args.direct_input) as src, \
        file.open(args.output, "w", direct=args.direct_output) as dst:
    try:
        dst.truncate(args.size)
    except EnvironmentError as e:
        if e.errno != errno.EINVAL:
            raise
    pos = 0
    while pos < args.size:
        n = src.readinto(buf)
        n = min(n, args.size - pos)
        if ioutil.is_zero(buffer(buf, 0, n)):
            dst.seek(n, os.SEEK_CUR)
        else:
            written = 0
            while written < n:
                wbuf = buffer(buf, written, n - written)
                written += dst.write(wbuf)
        pos += n

    dst.flush()

elapsed = time.time() - start

print "Copied %.2f GiB, in %.3f seconds (%.2f MiB/s)" % (
    float(pos) / 1024**3,
    elapsed,