同時對多個檔案進行大量寫操作對效能優化

2021-04-17 00:28:52 字數 557 閱讀 2036

我自己的乙個專案,需要同時對65536個檔案進行多次寫操作。

如果先全部開啟所有的檔案,然後重複寫,最後關閉所有的檔案。那麼第一次寫操作全部完成需要16分鐘左右,而第二次就需要40分鐘了。沒有繼續測試了。

for (int i = 0; i < 65536; i )

write;

write;

write;

........

for (int i = 0; i < 65536; i )

如果在寫操作的時候只開啟相應的乙個檔案,寫完關閉。那麼所有寫操作完成只要2分30秒左右。迴圈{

for (int i=0;i<65536;i )

}由此可見,第二種辦法效能要遠大於第一種。一次開啟所有的檔案,需要占用不小的記憶體,最主要的是.net在處理filestream 的時候,可能要進行大量的記憶體分配和**等工作,消耗了大量記憶體和資源。

另外我也做個測試,如果檔案數目比較小,那麼第一種的效能又要大大好於第二種。

在ubuntu下對多個C 檔案進行同時編譯的例子

1 編寫三個檔案 function.h function.cpp hello.cpp function.h內容為 int function int n function.cpp內容為 include function.h include using namespace std int functio...

QT對yml檔案進行寫入操作時不能連續寫入兩個數字

首先指明生成的.yml檔案在debug資料夾中 檔案寫入 filestorage write file,filestorage write write type circle num 3 const int n 1000 int a n write radius for int i 0 i執行發現乙...

python 對多個csv檔案分別進行處理

import glob import time import csv csvx list glob.glob csv 開啟資料夾下全部的csv檔案 print 總共發現 s個csv檔案 len csvx list time.sleep 2 print 正在處理.for i in csvx list ...