1

这是我的代码:

// init
int total;
struct aiocb aio;
bzero((char *)&aio, sizeof(struct aiocb));
aio.aio_buf = malloc(BUF_MAX1+1);
aio.aio_nbytes = BUF_MAX1;
aio.aio_fildes = write_file;
aio.aio_offset = 0;

int ret;
while (total <= 900008200){   // 858MB

    ret = aio_write(&aio);
    assert(ret >= 0);

    while ((ret = aio_error(&aio)) == EINPROGRESS);
    assert(ret == 0);

    int n;
    if ((n = aio_return(&aio)) > 0) {
        total += n;
        aio.aio_offset += n;
    } else {
        assert(0);
    }
}

当我在 ext4 文件系统中运行时,我得到了这个结果“总(900008200)时间(12.63s)”

在 btr 文件系统中,结果是“总(900008200)时间(27.42s)”

4

0 回答 0