【发布时间】:2014-05-02 23:39:40
【问题描述】:
在我的程序中,我使用的是 file.open(path_to_file); .
在服务器端,我有一个包含大量文件的目录,我担心如果目录越来越大,程序运行时间会更长,因为file.open();
//code:
ofstream file;
file.open("/mnt/srv/links/154");//154 is the link id and in directory /mnt/srv/links i have plenty of files
//write to file
file.close();
问题: file.open() 的执行时间会根据目录中文件的数量而变化吗?
我使用的是 debian,而且我相信我的文件系统是 ext3。
【问题讨论】:
-
这取决于文件系统而不是语言,但总的来说:是的,但通常不足以让任何人关心。
-
我不得不说,目录中的文件数大约是900000个文件,仍然没有问题?
-
取决于文件系统。你用的是什么文件系统?对于 FAT32,您可能会遇到问题。 Microsoft 将“300,000 或更多”称为 NTFS 的大量文件,并建议禁用短名称生成以提高性能,还表示 NTFS 使用 BTrees 而不是 FAT32 的缓慢扁平结构:technet.microsoft.com/en-us/library/cc781134(WS.10).aspx
-
这不是一个真正的 C++ 问题。
-
我使用的是 linux (debian),我相信我的文件系统是 ext3
标签: file file-io operating-system