gpt4 book ai didi

c - 什么更快,pipe|fifo

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:47 24 4
gpt4 key购买 nike

linux 中哪个更快:管道还是 fifo?理论管道更快,但我如何用 C 程序检查它?我试过在 2 个进程之间发送一条消息,但是根据消息的长度,从发送到接收消息的时间仍然是 0。

部分代码:

struct timeval start,end;
char mesaj[100000]="";
for(i=0;i<99999;i++)
strcat(mesaj,"d");
gettimeofday(&start,NULL);
if(fork()==0)
{
write(fd,mesaj,strlen(mesaj));
exit(0);
}
read(fd,mesaj,strlen(mesaj));
gettimeofday(&end,NULL);
long time=(end.tv_usec-start.tv_usec)/1000 + (end.tv_sce-start.tv_sec)*1000;
printf("Fifo time &lu\n",time);

最佳答案

A fifopipe 共享相同的实现在 linux 中,所以它们同样快。

两者的主要区别在于创建/打开它们的方式。

如果你想衡量它,你需要做可衡量的工作。例如尝试读/写 100MB 的数据(使用循环)。您还需要检查错误,因为测量失败所需的速度并不是您想要的,并且您需要检查您是否实际读取和写入了 100MB。

关于c - 什么更快,pipe|fifo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26486015/

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