我有一個使用XmlReader的進程。我已經做了很多工作來擠出最大的表現。到目前爲止,我們已經從使用Reader而不是XmlDoc或DataSet.GetXml()中獲得了巨大的收益。我們希望每秒能獲得多次XML,並且我希望避免每次重新創建讀取器的開銷。我已經緩存了XmlReaderSettings,但無論如何要重用XmlReader還是每次都需要重新創建它?有沒有辦法重用XmlReader?
1
A
回答
4
可能通過使用一些技巧來重用XmlReader,但不應該這樣做。它只用於一次性使用,所以它沒有任何使用不同來源重新啓動的方法。
試圖重用它可能會比創建新的閱讀器更多的工作。創建閱讀器相當便宜,而且幾乎不會成爲性能問題。
2
這幾乎肯定是浪費精力。 XML需要來自某個地方,即網卡上的文件。 I/O操作比實現讀取器類所做的任何操作都慢幾個數量級。
典型的陷阱是您運行一個測試程序來重複使用相同的數據來分析代碼。這不是一個現實的測試,您將從緩存副本(例如文件系統緩存)檢索XML。這是非常快的,它運行在巴士速度。這在生產機器中不會這樣工作,數據幾乎肯定還沒有被緩存。例如它需要從磁盤讀取。那是非常慢。
相關問題
- 1. 有沒有辦法重用Job實例?
- 2. 有沒有辦法重新組織UIStoryboard?
- 3. 有沒有辦法重寫這個URL?
- 4. 有沒有辦法防止重複?
- 5. 有沒有辦法在python中重載+ =?
- 6. 有沒有辦法避免方法調用重複?
- 7. 有沒有辦法強制調用重寫的方法?
- 8. 有沒有辦法在python
- 9. 有沒有辦法「svn unrevert」?
- 10. 有沒有辦法appendTo頭?
- 11. 有沒有辦法從APP
- 12. 有沒有辦法寫unity3d
- 13. 有沒有辦法在SQL
- 14. 有沒有辦法在PySpark
- 15. 有沒有辦法在NetBeans
- 16. 有沒有辦法在Notepad ++
- 17. 有沒有辦法在UIWebview
- 18. 有沒有辦法來OpenAccessContext
- 19. 有沒有辦法在MATLAB
- 20. 有沒有辦法收集?
- 21. 有沒有辦法-preload- UICollectionViewCell?
- 22. 有沒有辦法從collectionviewcell
- 23. 有沒有辦法專門
- 24. 有沒有辦法標記使用非重入C庫調用?
- 25. 的XmlReader:沒有引號
- 26. 有沒有辦法重新定位/重置方向?
- 27. 有沒有辦法使用jQuery
- 28. 有沒有辦法用WebClient做PUT?
- 29. 有沒有辦法強制啓用quicktime?
- 30. 有沒有辦法使用範圍
它相對便宜。但我已經做了所有其他事情,所以我正在嘗試刮鬍子,因爲這是現在的瓶頸。不是表現是一個問題,但我內心的極客想在可能的情況下刮臉。雖然不成熟的優化是萬惡之源;但我無法幫助它 – uriDium 2010-04-07 09:28:01