系统集成论坛
标题:
如何提高文件读写速度?
[打印本页]
作者:
aiserver
时间:
2013-5-30 08:20
标题:
如何提高文件读写速度?
如果有文件读写的话,那么对文件的访问将是影响程序运行速度的一大因素。提高文件访问速度的主要办法有两个:一是采用内存映射文件,二是使用内存缓冲。下面是一组测试数据(见《UNIX环境高级编程》3.9节),显示了用18种不同的缓存长度,读1 468 802字节文件所得到的结果。
缓冲大小 用户CPU(秒) 系统CPU(秒) 时钟时间(秒) 循环次数(秒)
1 23.8 397.9 423.4 1 468 802
2 12.3 202.0 215.2 734 401
4 6.1 100.6 107.2 367 201
8 3.0 50.7 54.0 183 601
16 1.5 25.3 27.0 91 801
32 0.7 12.8 13.7 45 901
64 0.3 6.6 7.0 22 951
128
0.2
3.3
3.6
11 476
256
0.1
1.8
1.9
5 738
512
0.0
1.0
1.1
2 869
1 024
0.0
0.6
0.6
1 435
2 048
0.0
0.4
0.4
718
4 096
0.0
0.4
0.4
359
8 192
0.0
0.3
0.3
180
16 384
0.0
0.3
0.3
90
32 768
0.0
0.3
0.3
45
65 536
0.0
0.3
0.3
23
131 072
0.0
0.3
0.3
12
可见,一般的当内存缓冲区大小为8192的时候,性能就已经是最佳的了,这也就是为什么在H.263等图像编码程序中,缓冲区大小为8192的原因(有的时候也取2048大小)。
使用内存缓冲区方法的好处主要是便于移植,占用内存少,便于硬件实现等。
http://blog.163.com/cau_eric/blog/static/1880661200681275558903/
欢迎光临 系统集成论坛 (http://bbs.xtjc.com/)
Powered by Discuz! X3.1