微軟宣布Entity Framework 5的性能有了顯著提升
根據 ADO.NET 團隊博客上的介紹,使用這個版本 EF 的應用程序之所以性能提升,要部分歸功于 LINQ to Entities 查詢的自動編譯。自動編譯功能一直都是 EF 框架中的一部分,只是需要開發人員調用 CompiledQuery.Compile 才能夠使用。現在,EF 5 會自動處理這步工作:當某個查詢首次運行時,它會被編譯并緩存,從而使得后續請求可以避免重新完全編譯。
EF 4 為 ESQL(嵌入式 SQL)查詢使用了編譯后的查詢緩存,而 EF 5 將該功能擴展到了 LINQ to Entity 查詢中。一旦緩沖中超過 800 個編譯后的查詢,某個回收算法將開始生效并以每分鐘一次的周期清理緩存。 實體依據 LFRU(最近最早使用)原理從緩存中移除。
使用編譯后的 LINQ to SQL 查詢同樣能夠提升性能。ADO.NET 團隊提到在他們的內部測試中,通過對查詢參數評估方式的一些改動帶來了 600% 的性能提升。
盡管.NET 交付和 EF 的發布兩者之間相互獨立,它們還是公用了一些核心庫,包括 System.Data.Entity.dll、System.Data.Entity.Design.dll 和 System.Web.Entity.dll。這樣的好處在于使用 EF 4.0 的開發人員只要升級到.NET 框架4.5,就應當可以體驗到性能的提升。
由于 EF5 中的某些新特性(如枚舉支持以及空間數據類型)依賴于 .NET 框架4.5中的功能,因此在 .NET 4.5 發布之前沒有太多指望能使用到它們。此外,微軟在本月初宣布推出了 EF4.3。
查看英文原文:Microsoft Reports Significant Performance Improvements in Entity Framework 5
來自:
InfoQ
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!