[非專業翻譯] 高效能物件對映框架 - Mapster
系列介紹
[非專業翻譯] 是對沒有中文文件進行翻譯的系列部落格,文章由機翻和譯者自己理解構成,和原文相比有所有不通,但意思基本一致。
因個人能力有限,如有謬誤之處還請指正,多多包涵。
正文
說到 .NET 中的物件對映框架,大部分人的第一映像就是 AutoMapper ,而很少有人會想到 Mapster
部分原因就是因為 Mapster 的中文資料較少,而 AutoMapper 中文資料較多
因此我將對 Mapster 的 官方文件 進行翻譯,讓更多有需要的人能夠學習和使用這個非常優秀的物件對映框架。
翻譯文件原始檔所在倉庫: github
Mapster 簡介
Mapster 是一個使用簡單,功能強大,效能極佳的物件對映框架
為什麼選擇 Mapster ?
效能 & 記憶體佔用
與 AutoMapper 相比,Mapster 在速度和記憶體佔用方面表現更加優秀,可以在只使用1/3記憶體的情況下獲得4倍的效能提升。
並且通過使用以下元件可以獲得更高的效能:
- Roslyn Compiler
- FEC (FastExpressionCompiler)
- Code generation
Method | Mean | StdDev | Error | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|
'Mapster 6.0.0' | 108.59 ms | 1.198 ms | 1.811 ms | 31000.0000 | - | - | 124.36 MB |
'Mapster 6.0.0 (Roslyn)' | 38.45 ms | 0.494 ms | 0.830 ms | 31142.8571 | - | - | 124.36 MB |
'Mapster 6.0.0 (FEC)' | 37.03 ms | 0.281 ms | 0.472 ms | 29642.8571 | - | - | 118.26 MB |
'Mapster 6.0.0 (Codegen)' | 34.16 ms | 0.209 ms | 0.316 ms | 31133.3333 | - | - | 124.36 MB |
'ExpressMapper 1.9.1' | 205.78 ms | 5.357 ms | 8.098 ms | 59000.0000 | - | - | 236.51 MB |
'AutoMapper 10.0.0' | 420.97 ms | 23.266 ms | 35.174 ms | 87000.0000 | - | - | 350.95 MB |
Mapster 系列目錄
對映
配置
設定
外掛
- 非同步支援 (原文)
- 除錯 (原文)
- 依賴注入 (原文)
- EF 6 & EF Core (原文)
- FastExpressionCompiler (原文)
- Immutable (原文)
- Json.net (原文)