我正在開發一個日誌解析器,並且正在讀取大於150MB的字符串文件.-這是我的方法,有什麼方法可以優化While語句中的內容嗎?問題是,在消耗了大量的memory.-我也有一個StringBuilder試圖面臨着同樣的內存comsuption.-如何優化此算法中的內存使用情況?
private void ReadLogInThread()
{
string lineOfLog = string.Empty;
try
{
StreamReader logFile = new StreamReader(myLog.logFileLocation);
InformationUnit infoUnit = new InformationUnit();
infoUnit.LogCompleteSize = myLog.logFileSize;
while ((lineOfLog = logFile.ReadLine()) != null)
{
myLog.transformedLog.Add(lineOfLog); //list<string>
myLog.logNumberLines++;
infoUnit.CurrentNumberOfLine = myLog.logNumberLines;
infoUnit.CurrentLine = lineOfLog;
infoUnit.CurrentSizeRead += lineOfLog.Length;
if (onLineRead != null)
onLineRead(infoUnit);
}
}
catch { throw; }
}
提前感謝!
EXTRA: 林節約每一行,因爲讀取日誌後,我需要檢查每存儲line.-語言中的一些信息是C#
什麼是語言? – 2010-01-04 19:47:10
保留每一行的原因是什麼?什麼是內存配置文件顯示爲最昂貴的對象或對象?你想要的內存門檻是多少? – 2010-01-04 19:50:56
你使用多少內存,你認爲合理嗎? – Dolphin 2010-01-04 20:12:45