What is the fastest way to check if a directory is empty?
Of course I can check the length
list.files(path, all.files = TRUE, include.dirs = TRUE, no.. = TRUE)
but this requires listing the entire contents of the directory, which I would prefer to avoid.
EDIT . I am looking for portable solutions.
EDIT ^ 2 : some timings for a huge directory (run this in a directory that is initially empty, it will create 100,000 empty files):
system.time(file.create(as.character(0:99999)))
system.time(length(dir()))
system.time(system("ls | head -n 1"))
system.time(system("ls -f | head -n 3"))
The switch -fis critical to ls, it will avoid the sorting that would otherwise occur.
source
share