我將添加到@ mjolinor的評論和其他評論。要直接回答問題:
將信息保存到變量(因此保存到RAM)總是比直接到磁盤更快。 但僅在以下情況下:
變量旨在用於存儲小數據量(< 10Mb)。它們不是爲了容納諸如整個數據庫的東西而設計的如果數據的大小很大(即數百萬行的數據,即幾十兆字節),那麼磁盤總是更好。問題在於,如果將大量信息放入變量中,則會填滿RAM,一旦RAM滿了,事情就會變慢,將內存分頁到磁盤開始發生,基本上一切都停止工作,包括任何命令你目前正在運行(即Robocopy)。總的來說,因爲你處理的是數百萬行,所以我的建議是把它寫到磁盤上,因爲你的結果很可能會佔用相當多的空間,遠遠超過一個變量「應該」。
現在,在詳細說明程序如何操縱內存中的位之後,這一切並不重要,因爲花在寫入磁盤上的時間與時間相比非常小它需要處理所有的文件。
如果您正在處理1,000,000個文件,並且您以很快的速度處理它們,例如每秒處理1,000個文件,則需要1000秒才能處理。這意味着它需要16分鐘才能完成所有文件。
如果讓我們說寫入磁盤是不好的,並且可以讓您每秒處理5個文件,那麼995個文件將只運行5秒。 5秒是0.5%的影響,與運行整個過程所花費的時間相比毫無意義。
寫入變量會比寫入磁盤更麻煩。
基準測試的唯一方法是使用您自己的數據實際執行測試,並比較結果。任何實際上沒有這樣做的東西只是猜測。 –
讓我問一下......存儲輸出後多少次將在該過程的生命期間再次讀取? –
你爲什麼使用Robocopy來達到這個目的?爲什麼不使用PowerShell? –