我有一個非常小的函數,但調用了很多次,我的分析器將其標記爲耗時。它是以下一個:C#通過預加載來優化函數
private static XmlElement SerializeElement(XmlDocument doc, String nodeName, String nodeValue)
{
XmlElement newElement = doc.CreateElement(nodeName);
newElement.InnerXml = nodeValue;
return newElement;
}
第二行(它進入nodeValue)是需要一些時間。
事情是,我不認爲它可以優化代碼明智,但我仍然對該部分的建議持開放態度。但是,我記得在某處閱讀或聽到說你可以告訴編譯器標記這個函數,這樣它在程序啓動時加載到內存中並且運行得更快。
這只是我的想象或這樣的旗幟存在嗎?
謝謝,
FB。
是的,但我正在序列化4Mo的數據(生成的XML文件的大小),是不是XmlDocument在這種情況下應該更好? – 2011-03-30 19:21:22
XmlDocument提供了一種緩存模型,可以在數據寫入磁盤之前更輕鬆地處理數據結構。如果你需要這種靈活性,XmlDocument更容易處理。但是,如果您已經提前知道結構並且不需要訪問緩存的分層模型,則XmlWriter的性能會更好。這對於大文件尤其如此,因爲它不會緩存除寫入時緩衝到底層流的信息以外的任何信息。 – 2011-03-30 19:24:31
好吧,我會試試,謝謝。 一個側面說明,沒有人真正回答我的原始問題,只是我的想象? – 2011-03-30 19:26:20