我試圖從3個網絡驅動器使用list.files
檢索文件,它需要永遠。當我在shell中使用find
時,它會在15秒內返回所有結果。list.files的性能問題
system.time(
jnk <- list.files(c("/Volumes/massspec", "/Volumes/massspec2", "/Volumes/massspec3"),
pattern='_MA_.*_HeLa_',
recursive=TRUE))
# user system elapsed
# 1.567 6.381 309.500
這裏是等效的shell命令。
time find /Volumes/masssp* -name *_MA_*_HeLa_*
# real 0m13.776s
# user 0m0.361s
# sys 0m0.620s
我需要一個適用於Windows和Unix系統的解決方案。有沒有人有個好主意?網絡驅動器共有大約120,000個文件,但大約16TB。所以沒有太多的文件,但非常大的文件。
什麼能阻止你對'find'進行系統調用來構建列表?有用於Windows的便攜式版本的查找。用腳本包裝它不應該是一個真正的問題。 – Tensibai
我希望有一種解決方法,但不幸的是,我必須使用這個解決方案,是的... – drmariod