读书人

NIO中的内存储器映射文件使用对效率提

发布时间: 2012-10-17 10:25:46 作者: rapoo

NIO中的内存映射文件使用对效率提高的验证

?对比较大的而不能放入内存的文件进行I/O操作时,如果使用NIO中的内存映射文件对性能效率和速度的提高是非常显著的。首先需要获取文件的通道,然后调用通道的map(FileChannel.MapMode mode,long position,long size)函数将文件从position位置开始的长度为size的内容映射到内存中。具体的效率比较代码示例如下:

?

    for(Tester?test:tests){??
  1. ????????????test.runTest();??
  2. ????????}??
  3. ????}??
  4. ??
  5. }??

?

?? 可以看到运行后的结果如下:

????????? ?使用stream write所消耗的时间:
?????????? 0.92
????????? 使用mapped write所消耗的时间:
?????????? 0.12?
????????? 使用stream read所消耗的时间:
?????????? 0.50
???????? 使用mapped read所消耗的时间:
?????????? 0.06
??? 效率确实大幅度提高啊。

读书人网 >编程

热点推荐