标准IO和系统IO写入速度比较

标准IO和系统IO写入速度比较

众所周知,标准IO的速度要比系统IO快。
那为什么系统调用要比标准C库调用慢呢?

测试:

#include <fcntl.h>
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
void stdIOwrite(void){        
	FILE* file = fopen("writetst.dat","w");    
	for(int i=0;i<1000000;i++){        
		fwrite(&i,sizeof(int),1,file);    
	}    
	fclose(file);    
}
void sysIOwrite(void){    
	int fd = open("writetst.dat",O_TRUNC|O_WRONLY);    
	for(int i=0;i<1000000;i++){        
		write(fd,&i,sizeof(int));    
	}    
	close(fd);
}
int main(){    
	//sysIOwrite();    
	stdIOwrite();
}

系统IO写入100W个整数所用时间:

real    0m47.595s
user    0m0.813s
sys     0m45.859s

标准IO写入100w个整数所用时间:

real    0m0.096s
user    0m0.031s
sys     0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值