缓冲大小 |
用户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 |
总之,如果要使用内存映射文件,必须:1.处理的文件比较的小,2.处理的文件很大,但是运行环境内存也很大,并且一般在运行该程序的时候不运行其他消耗内存大的程序,同时用户对速度有特别的要求,而且对内存占用没有什么要求。如果以上两个条件不满足的时候,建议使用内存缓冲区的办法。