提问人:Rajat Aggarwal 提问时间:10/27/2023 更新时间:10/27/2023 访问量:47
如果我们必须写入内存中已有的数据,sendfile 会更好吗?
would sendfile be better if we have to write data that is already in memory?
问:
我在用户空间内存缓冲区中有一些数据,我想通过套接字发送。我正在阅读有关 Linux 中的零拷贝的信息,想知道在这种情况下是否可以使用它或在此处进行任何可能的优化。
char buff[buffer_size]; // buffer already in memory (user space)
while (condition) {
buff[(i++) % buffer_size] = 1; // do some changes in buffer
write(sockfd, buff, buffer_size); // can we use sendfile here? would it give benefit?
}
答: 暂无答案
评论
sendfile
sendfile
memfd_create()
:“与普通文件不同,它位于 RAM 中,并具有易失性备份存储......”了解 Linux 和 glibc,它可能只是一个在文件系统中使用 'd 文件的 hack,但它有可能在后台做一些有用的事情。mmap()
tmpfs