我已经在ramfs和本地Linux文件系统中复制了一些文件,并尝试使用我的java程序读取这些文件,如下所示
public class Main {
public static void main(String[] args) throws Exception{
int length = args.length;
long s = System.currentTimeMillis();
for(int i=0; i<length; ++i){
BufferedReader br = new BufferedReader(new FileReader(args[i]));
String line = "";
while((line=br.readLine())!=null){
}
br.close();
}
System.out.println(System.currentTimeMillis()-s);
}
}
但在某些情况下,ramfs似乎效率低于Linux fs 文件大小,文件数,Ram Fs中的时间,读取Linux fs的时间(以毫秒为单位)
〜500MB,1,2619,2837
〜500MB,3,7018,7135
〜2-3KB,17,3071,3024
为什么第三种情况下的阅读时间会增加。 如果ramfs文件将从ram中读取,理想情况下它应该花费更少的时间。
任何想法???