各种IO操作性能对比

系统的各种延时

在这里插入图片描述
图片摘自性能之巅

对比方式

对比以下方式的日志记录性能:

  1. 以udp包的方式发送,涉及到网络IO
  2. 写文件的方式,涉及到磁盘IO
  3. printf的方式,涉及到显示器IO
  4. 保存在内存中,仅涉及主存访问

对比测试程序

代码位置:https://github.com/rlistengr/tool/blob/master/log.c
上面的代码主要是记录日志的实现方式,测试程序没有上传,但是很简单,只要在开始和结束处调用clock_gettime做一下差值即可。
3000次日志记录,统计总时间。

硬件环境

mac下的virtualBOX,里面的一个ubuntu

测试结果

方式时间
udp包发送30ms以上
写文件25ms左右
printf350ms以上
保存在内存中10ms

总结

显然如果需要调试性能,优先采用将结果保存在内存中的方式,其次是写文件或者udp包的发送,基本不会采用printf的方式来调试性能

/-------------
探花原创

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值