我有一個修剪目錄中所有文件中的所有文本的功能。以下是代碼在所有文件中修剪文本的最快方法
var dbtables = System.IO.Directory.GetFiles(db);
foreach(var table in dbtables)
{
string text = File.ReadAllText(table);
File.WriteAllText(table, text.Trim());
}
該目錄中有許多大文件,大約需要30分鐘才能完成。你知道更快的方法來做到這一點嗎?
這可能是更受I/O限制的驅動器比你的代碼... – vcsjones
我高度懷疑有這樣做的更快的方法。你必須閱讀和寫入文件才能修剪,那麼你還有什麼要提高性能? @vcsjones也很重要。獲取SSD :) – evanmcdonnal
您應該運行一個分析器並查看正在採取的時間。這很可能在磁盤I/O中,儘管您可以通過自己修剪文件來縮短調用「Trim()」所花費的時間。 'Trim()'將會創建一個可能是一個非常大的字符串的新副本,因此保存該副本可以爲您節省*一些*時間。但請先介紹一下。 – dlev