Tôi nghe nói rằng LINQ to XML có một số vấn đề hiệu suất và một số bạn bè của tôi đề nghị tôi không sử dụng nó trong ứng dụng của tôi. Tôi không thể tìm thấy bất cứ điều gì có liên quan trên MSDN và tôi không muốn dựa vào "một số blog internet". Có ai biết quan điểm chính thức về vấn đề này hay một số nguồn đáng tin cậy không?linq để xml hiệu suất
Trả lời
Sử dụng LINQ to XML sẽ đọc toàn bộ tập tin vào bộ nhớ.
Nếu bạn đang đọc một tệp XML khổng lồ (hàng trăm megabyte), đây là một vấn đề.
Thay vào đó, bạn có thể sử dụng XmlReader thô, cung cấp chế độ xem chỉ chuyển tiếp của tệp XML và sẽ không đọc toàn bộ tệp cùng một lúc.
Nếu bạn đang xử lý các tệp XML có kích thước bình thường, LINQ to XML sẽ ổn.
LINQ to XML là một số đơn đặt hàng có cường độ dễ sử dụng hơn XmlReader.
Bạn chỉ nên sử dụng XmlReader nếu bạn biết rằng bạn sẽ xử lý các tệp XML 200MB hoặc nếu bạn đã đo hiệu suất của mình và đã chứng minh rằng hàm tạo XDocument
đang quá chậm.
Microsoft cung cấp các ví dụ về cách luồng đầu vào/đầu ra của tệp xml bằng cách sử dụng LINQ to Xml để bạn không kết thúc tải toàn bộ tệp vào bộ nhớ chỉ một phần nhỏ của nó: http://msdn.microsoft.com/en- us/library/system.xml.linq.xstreamingelement.aspx # Y1392 – Michael
Chỉ cần google linq vs xmlreader
bạn sẽ có nó.
Kết quả hàng đầu, http://www.nearinfinity.com/blogs/joe_ferner/performance_linq_to_sql_vs.html, dẫn đến kết luận rằng nó chậm hơn so với xmlreader (tất nhiên, vì linq2Xml được xây dựng trên xmlreader), nhưng IMHO nó tốt hơn nhiều so với chấp nhận được, khi bạn đạt được sự linh hoạt và dễ dàng hơn để đọc/mã.
- 1. Hiệu suất: XmlReader hoặc LINQ to XML
- 2. Hiệu suất cầu LINQ
- 3. SQL Server XML băm nhỏ hiệu suất
- 4. LINQ tham gia - Hiệu suất
- 5. LINQ hiệu suất cho bộ sưu tập
- 6. LINQ ToList/ToArray/Hiệu suất ToDictionary
- 7. LINQ to XML vs DOM
- 8. LINQ để đọc XML
- 9. Danh sách và LINQ to Sql Hiệu suất vấn đề
- 10. Tổng hợp hiệu suất so với tổng số trong LINQ
- 11. OrderBy and Top in LINQ với hiệu suất tốt
- 12. Hiệu suất LINQ cho Bộ sưu tập Lớn
- 13. Đối với Linq - Hiệu suất so với Tương lai
- 14. Có ai chạy điểm chuẩn hiệu suất so sánh LINQ
- 15. XML đơn, Nhiều hoạt động & hiệu suất có
- 16. Hiệu suất của Bộ đếm hiệu suất
- 17. Hiệu quả và hiệu suất của LINQ và Lambda Expression trong .Net là gì?
- 18. Hiệu suất của marshaller Java
- 19. Làm thế nào để cải thiện hiệu suất ghi đọc XML
- 20. XML so với hiệu suất nhị phân để tuần tự hóa/Deserialization
- 21. Tạo xml bằng LINQ to XML
- 22. Cách hiệu quả nhất để phân tích cú pháp Xml
- 23. Hiệu suất CALayer so với hiệu suất UIImageView
- 24. Hiệu suất của jQuery Parallax/Scroll Hiệu suất
- 25. LINQ to XML: Cách hiệu quả nhất để di chuyển các nút lên và xuống
- 26. Hiệu suất so sánh chuỗi trong C#
- 27. DataContractSerializer vs BinaryFormatter hiệu suất
- 28. Cải thiện hiệu suất của XmlSerializer
- 29. Hiệu suất POI
- 30. Hiệu suất của OracleBulkCopy
So sánh XPath và LINQ với XML: http://msdn.microsoft.com/en-us/library/bb675156.aspx –
Related: http://stackoverflow.com/questions/14000846/xdocument-performance – nawfal