File A in a directory which have 10000 files, and file B in a directory which have 10 files, Would read/write file A slower than file B?
Would it be affected by different journaling file system?
File A in a directory which have 10000 files, and file B in a
Share
No.
Browsing the directory and opening a file will be slower (whether or not that’s noticeable in practice depends on the filesystem). Input/output on the file is exactly the same.
EDIT:
To clarify, the “file” in the directory is not really the file, but a link (“hard link”, as opposed to symbolic link), which is merely a kind of name with some metadata, but otherwise unrelated to what you’d consider “the file”. That’s also the historical reason why deleting a file is done via the
unlinksyscall, not via a hypotheticaldeletefilecall.unlinkremoves the link, and if that was the last link (but only then!), the file.It is perfectly legal for one file to have a hundred links in different directories, and it is perfectly legal to open a file and then move it to a different place or even unlink it (while it remains open!). It does not affect your ability to read/write on the file descriptor in any way, even when a file (to your knowledge) does not even exist any more.