免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: SeaKing911
打印 上一主题 下一主题

如何提高写文件速度 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-04-26 08:59 |只看该作者
假设磁盘分区512字节,如果写200字节,那么:
系统会先读512字节,
修改200字节,
写回512字节。

论坛徽章:
0
12 [报告]
发表于 2007-04-26 10:02 |只看该作者
Recv Msg [MsgID:4D2818023EA833C7 PhoneNumber:136******** NetID:0x00021303 ThreadID:110]

日志就是诸如此类的数据

论坛徽章:
0
13 [报告]
发表于 2007-04-26 10:31 |只看该作者
如果是要同步写的话大家讨论过了,没有什么好的办法提高速度。
如果是异步写可以自己维护缓冲区,以block或者block的整数倍为单位write。
比每一行write一次可以提高一倍左右。
和puts的比较没有测过,应该也会有所提高。

论坛徽章:
0
14 [报告]
发表于 2007-04-27 10:09 |只看该作者
seek出一个1G的文件,然后mmap出来,然后就直接strcpy,注意不要溢出
满了之后就ummap,然后再创建一个新的
mmap多大空间不受物理内存大小的限制的

map的方法应该会比write快
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP