WCF與ASP.NET Core效能比較
\\\看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!
\
微軟花了大量的時間和精力來開發ASP.NET Core。結果,這個開放的平臺提供了許多首次出現的新特性,而且從廣大開發社群的開放參與中收穫頗多。人們通常會認為,ASP.NET Core比像Windows Communication Foundation(WCF)這樣的舊技術效能更好。近期看來,情況似乎不是這樣,讓我們深入地瞭解一下。
\\近日,開發者Erik Heemskerk發表了一篇文章,介紹他對ASP.NET Core與WCF進行的深入比較。在他的試驗中,他使用每種技術編寫了一個簡單的專案,“啟動一個本地Web伺服器,測量從請求建立、傳送、反序列化到響應生成、返回、反序列化這整個過程所用的時間”。
\\出乎他的意料,當負載是一個簡單的GUID時,WCF比對等的ASP.NET Core專案快大約三分之一。Heemskerk認為,這可能是由於WCF序列化成XML,而ASP.NET Core使用JSON,所以他強制ASP.NET Core序列化成XML。這提升了效能,但WCF仍然要快許多。Heemskerk又嘗試了另外一種方法,他把負載增加到一個更符合現實物件大小的規模,並在ASP.NET Core專案中使用了MessagePack。總算,ASP.NET比WCF稍微快了點。
\\但是,這還沒完。開發者Josh Bartley後來檢查了Heemskerk的專案,看看是否還能做些其他的修改來改進ASP.NET的結果。他的分析表明,也許ASP.NET的基準測試過程和WCF的基準測試過程並不完全相同。
\\因此,ASP.NET Core並不是效能的倒退。如果最初效能未達到預期,可能需要做些分析來優化效能。更重要的是,在嘗試改進效能時,務必要找對進行基準測試的地方,以便可以修改適當的程式碼段。
\\相關文章
- ASP.NET Core 程式內與程式外的效能對比ASP.NET
- asp.net core 比較好的開源專案ASP.NET
- 效能比較
- 舊 WCF 專案成功遷移到 asp.net core web apiASP.NETWebAPI
- Java JIT與AOT效能比較 - foojayJava
- Dapper, Ef core, Freesql 插入大量資料效能比較(二)APPSQL
- PostgreSQL、Redis與Memcached的效能比較 - CYBERTECSQLRedis
- WCF服務端的.NET Core支援專案Core WCF 正式啟動服務端
- PHP file_get_contents 與 curl 效能比較PHP
- Caddy 與 Nginx的基準效能比較 - tjllNginx
- Apache與Nginx的優缺點、效能比較,到底選擇哪個比較好?ApacheNginx
- NATS訊息傳遞與REST效能比較 | VinsguruREST
- python 批量resize效能比較Python
- 請比較下for、forEach、for of的效能的效能
- Java實體對映工具MapStruct 與BeanUtils效能比較JavaStructBean
- ASP.NET Core 6 的效能改進ASP.NET
- ==與equals比較
- Java中List集合效能比較Java
- 排序演算法效能比較排序演算法
- ASP.NET Core - IStartupFilter 與 IHostingStartupASP.NETFilter
- 使用ASP.NET Core支援GraphQL -- 較為原始的方法ASP.NET
- MRAM與常用計算機記憶體的效能比較計算機記憶體
- Apache Pulsar 與 Kafka 效能比較:延遲性(測試方法)ApacheKafka
- 【.NET 6】使用EF Core 訪問Oracle+Mysql+PostgreSQL並進行簡單增改操作與效能比較OracleMySql
- ASP.NET Core 效能優化最佳實踐ASP.NET優化
- Hibernate與mybatis比較MyBatis
- yarn 與 npm 比較YarnNPM
- Vue與React比較VueReact
- Vuex與Redux比較VueRedux
- RecyclerView與ListView比較View
- IocPerformance 常見IOC 功能、效能比較ORM
- 堆排序和快速排序效能比較排序
- Java Bean Copy元件的效能比較JavaBean元件
- React與Vue模板使用比較(一、vue模板與React JSX比較)ReactVueJS
- 比較Java與Node.js的併發性和效能- maxantJavaNode.js
- ASP.NET Core Web API 與 SSLASP.NETWebAPI
- ASP.NET Core之Authentication與AuthorizationASP.NET
- 【譯】ASP.NET Core 6 中的效能改進ASP.NET