gpt4 book ai didi

c++ - 在 linux 上的 c++ 代码中通过 sendfile() 复制的速度是多少?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:05 33 4
gpt4 key购买 nike

我是初学者,我的问题不是作业。我想在 Linux 中编写 C++ 代码来复制一个大的 (40GiG) 二进制文件。

我的代码必须满足以下条件:

  • 速度应该和操作系统复制一样
  • RAM 量应假定为 4GiG

目前,我使用:

sendfile (write_fd, read_fd, &offset, stat_buf.st_size);

sendfile是否满足上述条件?

我如何评估代码复制的速度与操作系统复制的速度?

最佳答案

最好的答案是您应该自己尝试并运行一些基准测试。

但是,为了给您提示,我引用了 sendfile() 的手册页。 :

Because this copying is done within the kernel, sendfile() is more efficient than the combination of read(2) and write(2), which would require transferring data to and from user space.

这应该会给你一个很好的主意。

关于c++ - 在 linux 上的 c++ 代码中通过 sendfile() 复制的速度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21708414/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com